突然间,我的web-api项目找不到System.Web的引用了.Mvc,编译良好,但运行时错误
本文关键字:编译 Mvc 运行时错误 引用 web-api 我的 项目 找不到 Web System 突然间 | 更新日期: 2023-09-27 18:10:56
突然我的web-api项目已经停止能够运行(虽然它编译良好)。现在它说它在System.Web中找不到System.Web. mvc。查看应用程序历史记录,我注意到项目文件将引用从private =True更改为private = False,并删除了属性processorArchitecture=MSIL。
是什么导致了这个,为什么它会破坏我的运行时?
这是我的csproj文件的相关部分。原:
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..'packages'Microsoft.AspNet.Mvc.4.0.20710.0'lib'net40'System.Web.Mvc.dll</HintPath>
</Reference>
新: <Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> <HintPath>..'packages'Microsoft.AspNet.Mvc.4.0.20710.0'lib'net40'System.Web.Mvc.dll</HintPath>
<HintPath>..'packages'Microsoft.AspNet.Mvc.4.0.20710.0'lib'net40'System.Web.Mvc.dll</HintPath>
<Private>False</Private>
</Reference>
这听起来像是您的应用程序的bin
目录中缺少了System.Web.Mvc.dll
。
在"解决方案资源管理器"中选择对System.Web.Mvc
的引用,并在"属性"窗格中选择"Copy Local: True"。清理和重建,应该可以了
我刚刚发现了同样的事情——一个已经编译好的项目突然似乎缺少了System.Web.Mvc.dll
。
在添加参考(来自Assemblies/Extensions
)并将.csproj文件与以前的版本进行比较后,我可以看到System.Web.Mvc.dll
在我的机器上显然已经从3.0.0.0
升级到3.0.0.1
-可能是在Windows更新期间。
检查.csproj文件中指定的版本,然后将其与Assemblies/Extensions
中可用的版本进行比较-可能是一个较小的版本增量是问题的原因。