更改MVC项目输出路径后,找不到程序集

时间:2016-02-22 14:42:06

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我最近更改了MVC网站解决方案中某些项目的输出路径,以标准化它们。例如,主要项目从调试配置的bin\更改为bin\x64\Debug\。我通过右键单击项目并选择属性来通过GUI访问更改了这一点。

我可以重建所有没有错误,但当我启动网络应用程序时,我得到:

Could not load file or assembly 'System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

...

=== Pre-bind state information ===
LOG: DisplayName = System.Web.Mvc, Version=4.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35
 (Fully-specified)
LOG: Appbase = file:///C:/bookshelf/Bookshelf/
LOG: Initial PrivatePath = C:\bookshelf\Bookshelf\bin
Calling assembly : (Unknown).
===

看起来好像asp.net / IIS仍然在bin文件夹中查找? 我已经尝试删除user / appdata / local中的所有临时文件,在解决方案上重建所有文件,然后重新启动visual studio。我还尝试删除解决方案的.vs文件夹中的所有内容,并删除项目的csproj.user文件。

dll位于文件系统的bin / x64 / Debug文件夹中,正如输出路径设置所预期的那样。

1 个答案:

答案 0 :(得分:1)

  

看起来asp.net / IIS仍然在查找bin文件夹?

当然,那是ASP.NET寻找程序集的位置。因此,如果您希望Web应用程序正常工作,请确保它们位于此文件夹中。您不可能期望ASP.NET在某些非标准位置查找,例如bin\x64\Debug。如果需要它来查看程序集的某些自定义位置,则可能需要编写自定义程序集加载程序。