我正在开发一个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。几点要补充 -
引用System.Web.Razor版本1.0.0.0的外部程序集是RazorEngine 3.0.8版本
通过MS Build
答案 0 :(得分:0)
您不应该尝试在项目中同时引用System.Web.Razor.dll的版本1和版本2;它们有许多重复的类和命名空间名称,不能以这种方式一起使用。
但是,您看到的错误无效或准确。我将调查为什么会显示此错误并为此提交错误。
与此同时,您是否已联系过引用版本1的软件包的所有者?如果存在硬编码版本依赖性,则意味着您或正在创建Razor v2应用程序的其他用户无法使用该程序包。