突然间,我的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>

突然间,我的web-api项目找不到System.Web的引用了.Mvc,编译良好,但运行时错误

这听起来像是您的应用程序的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中可用的版本进行比较-可能是一个较小的版本增量是问题的原因。