System.Web.Razor - 奇怪的问题

时间:2013-01-02 14:05:30

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

我正在开发一个MVC 4应用程序(即System.Web.Razor版本2.0.0.0)。

我已从此应用程序引用外部程序集(引用System.Web.Razor版本1.0.0.0)。

我从该程序集的NuGet包中收到了System.Web.Razor v 1.0.0.0,因此在我的MVC应用程序的root上添加了文件夹名“\ Dependency”,并在web.config中添加了以下内容。 / p>

<dependentAssembly>
    <assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <codeBase version="1.0.0.0" href="/Dependency/System.Web.Razor.dll"/>
  </dependentAssembly>

这在我的开发环境中正常工作。

但是在生产环境中,它给我一个错误

"Could not load file or assembly 'System.Web.Razor, Version 1.0.0.0". 
The system could not find the file specified.

我已经检查了生产环境,并且可以在Dependency文件夹中看到“System.Web.Razor”版本1.0.0.0,并且生产服务器上的web.config也包含我上面显示的绑定。

我记得,我早些时候已经解决了这个问题,但它现在正在发生,我想永远摆脱它。

知道如何处理这个问题?

由于

Nirman

P.S。几点要补充 -

  1. 引用System.Web.Razor版本1.0.0.0的外部程序集是RazorEngine 3.0.8版本

  2. 通过MS Build

  3. 生成构建

1 个答案:

答案 0 :(得分:0)

您不应该尝试在项目中同时引用System.Web.Razor.dll的版本1和版本2;它们有许多重复的类和命名空间名称,不能以这种方式一起使用。

但是,您看到的错误无效或准确。我将调查为什么会显示此错误并为此提交错误。

与此同时,您是否已联系过引用版本1的软件包的所有者?如果存在硬编码版本依赖性,则意味着您或正在创建Razor v2应用程序的其他用户无法使用该程序包。