Nuget.Core.dll版本号不匹配

时间:2011-04-29 12:05:04

标签: asp.net razor nuget

我无法弄清楚我应该如何部署由nuget.server包创建的网站。 ASP.Net MVC未安装在服务器上,因此我将“可部署的依赖项”添加到我的项目中,并选择“使用Razor语法的ASP.NET网页”。

问题在于它添加了Nuget.Core.dll版本1.0.11220.104,但是nuget.server包为Nuget.Core.dll添加了对版本1.3.20419.9005的引用。

部署了更高版本后,我得到了

  

无法加载文件或程序集“NuGet.Core,Version = 1.0.11220.104”消息。   部署了较低版本后,我收到“编译器错误消息:CS1705:程序集'NuGet.Server,版本= 1.3.20426.373,Culture =中立,PublicKeyToken = null'使用'NuGet.Core,Version = 1.3.20419.9005,Culture = neutral, PublicKeyToken = 31bf3856ad364e35'的版本高于引用的程序集'NuGet.Core,Version = 1.0.11220.104,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'“。

我该如何解决这个问题?

感谢。

4 个答案:

答案 0 :(得分:3)

在visual studio中使用'add deployable bin'选项后,我遇到了同样的问题。我按照Haacked的建议设置了assemblybinding重定向,但修改了bindingRedirect以实际工作。 ;)

<bindingRedirect oldVersion="0.0.0.0-1.3.20419.9005"
                             newVersion="1.3.20419.9005"/>

之后我收到了您使用System.Web.Webpages.Administrator获得Erdem的错误。我进入bin文件夹并删除了System.Web.WebPages.dll,一切都亮了,现在效果很好!

答案 1 :(得分:2)

尝试在web.config中添加指向更高版本的绑定重定向。此外,如果您不介意,请帮助我们并在http://nuget.codeplex.com/workitem/list/basic

上记录详细的错误
<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="NuGet.Core"
                              publicKeyToken="31bf3856ad364e35"
                              culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0"
                             newVersion="1.3.20419.9005"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

答案 2 :(得分:0)

多么噩梦。这几乎是2011年7月,我正在摆弄几个小时,好像这是一个Java项目:(嗯)

对于使用框架4.0的MVC3 / vs 2010的IIS6(Windows 2003服务器)部署:

  1. 在虚拟目录中执行指向4.0 .. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
  2. 的通配符映射
  3. 我会创建一个新的应用程序池来指出它。
  4. 无数不那么有趣的程序集缺失,所以如果您有权访问服务器以安装mvc 3更新更新(包括mvc 3),请从http://www.asp.net/mvc下载并将其安装在服务器上。
  5. 首先,我将所有这些文件复制到

    • Microsoft.Web.Infrastructure
    • System.Web.Razor
    • System.Web.WebPages
    • System.Web.WebPages.Razor,

    但是,如果您在服务器上安装MVC 3,那么您可能不需要。我强调的那个交易破坏者是@Erdem提到的这个错误“'System.Web.WebPages.Administration ...”。我尝试了一切。在服务器上安装MVC修复它!对于Godaddy和其他.NET托管提供商,他们应该已经安装了MVC和程序集。

答案 3 :(得分:0)

看来唯一没有包含的参考是Microsoft.Web.Infrastructure。为解决此问题,我为“带有Razor语法的ASP.NET网页”添加了Deployable Dependencies,然后删除了除“Microsoft.Web.Infrastructure”之外的“_bin_deployableAssemblies”文件夹中的所有项目。这解决了这个问题。