3

今天我打开了我们剃刀视图的预编译。

我们对几乎所有东西都使用了引用的程序集,包括 mvc dll 和System.Web.WebPages

起初我在本地构建时收到System.Web.WebPages版本不匹配的错误,因此我在 Web.Config 中添加了一个条目

<add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral,
 PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />

这解决了导致我假设编译器忽略参考提示路径和<SpecificVersion>内容的问题?

在 web.config 中,我们的本地构建工作正常(我们碰巧在 GAC 中也有所有 dll)。

在构建服务器上运行我们的构建脚本会引发以下错误:

{OurPath}\web.config (44): Could not load file or assembly 'System.Web.WebPages,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of
its dependencies. The system cannot find the file specified.

这里发生了什么事?我可以看到 System.Web.WebPages dll 在已编译输出的 bin 中,为什么构建服务器找不到它?也许有一个我不知道的依赖关系?

其次,为什么 proj 文件中的提示路径似乎对正在使用的程序集没有影响,即使将 SpecificVersion 设置为 true?

4

0 回答 0