[英]Visual Studio, ASP.Net (.Net Framework) and including NuGet installed packages in a project
[英]Visual Studio thinks NuGet packages are installed that aren't
这有点奇怪,因为你已经安装了 package Telerik.ReportViewer.Html5.WebForms
。
请尝试以下步骤:
1)在扩展-->管理扩展下禁用任何第三方安装与扩展
2) 清除所有 nuget 缓存或删除C:\Users\xxx(current user)\.nuget\packages
下的所有文件然后重建你的项目。
3)关闭VS Instance,删除solution文件夹下的.vs
隐藏文件夹, bin
和obj
文件夹,然后重建你的工程。
4)在开发人员命令提示符下运行devenv /safemode
for VS 以启动纯 VS,然后在其中测试您的项目。
此外,当你完成检查时,请在你的主 web 项目上添加 bindredirect。
添加这个:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Telerik.ReportViewer.Html5.WebForms" publicKeyToken="eb42632606e9261f" />
<bindingRedirect oldVersion="0.0.0.0-14.1.20.618" newVersion="14.1.20.618" />
</dependentAssembly>
</assemblyBinding>
</runtime>
5)或者您可以尝试创建一个新的 asp.net web 站点项目,然后安装 nuget package 以测试问题是否再次发生。
如果仍然存在,请修复VS或更新到最新版本。
===========================================
更新 1
先清理 nuget 缓存,删除Bin
文件夹,或者直接使用nuget xxx\xxx.sln恢复包,然后重新运行update-package -reinstall
再次测试。 之后,重建您的网站项目。
请检查您的web.config
文件并确保您有这样的节点:
<compilation debug="true" targetFramework="4.7.2">
<assemblies>
<add assembly="Telerik.ReportViewer.Html5.WebForms, Version=14.2.20.916, Culture=neutral, PublicKeyToken=A9D7983DFCC261BE" />
</assemblies>
</compilation>
确保您在 web.config 中引用了这样的 dll。
然后,删除.vs
隐藏文件夹和Bin
文件夹,然后重建您的项目以检查Bin文件夹下是否存在 dll。
更新 2
================================================ ===
终于找到原因了。
原来是另一个package安装失败导致的问题。 这是我以前没有安装过的一个,所以我只是忽略了它,但看起来如果 NuGet 无法安装 package,它甚至不会尝试安装任何后续包。
我偶然发现了这个线程,只是想补充一点,只需运行update-package -reinstall
以为我解决这个问题。 我遇到了问题,可能是因为我有很多项目引用相同的 Nuget 包。
update-package -reinstall
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.