编译错误(网站无法识别.NET 4.5)

时间:2014-06-18 14:12:44

标签: compilation .net-4.5 dotnetnuke

我正在尝试让网站识别新版本的.Net(4.5),以便我可以升级到DNN(7.2)的最终版本。我安装了.Net 4.5但是当我进入IIS设置时,将框架切换到4.5(它实际上是4.0 bc,版本在技术上是4.03),然后刷新本地主机我得到错误:

“编译错误

描述:编译服务此请求所需的资源时发生错误。请查看以下特定错误详细信息并相应地修改源代码。

编译器错误消息:CS1703:已导入具有相同标识的程序集“System.Web.Extensions,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”。尝试删除其中一个重复的引用。

[没有相关的源代码行]“

到目前为止,网上还没有找到任何有用的内容。请帮忙!

更新:web.config中引用的版本确实说3.5.0.0这是问题吗?

4 个答案:

答案 0 :(得分:0)

您的网站只需配置为使用.Net 4.0
.Net 4.5是版本4.0的扩展。
根据您用于从.Net 2.0切换到.Net 4.0的方法,您必须通过web.config中对4.0版的引用来替换对3.5版的引用。

答案 1 :(得分:0)

我正在将一个dnn网站从SSMS 2008移动到2012年,将DotNetNuke 4.8.0网站升级到5.4.0(我知道它已经老了,它已经5.4了,稳定了,我可以继续升级路径)并遇到编译器错误消息。

  

编译器错误消息:CS1703:具有相同标识的程序集   ' System.Web.Extensions,Version = 4.0.0.0,Culture = neutral,   公钥= 31bf3856ad36e35'已经进口了。尝试   删除其中一个重复的引用。

我在web.config中将两个引用替换为3.5到4.0,并且在我用5.4升级文件替换旧的核心文件之后它立即启动。

答案 2 :(得分:0)

我遇到了类似的构建错误:

  

具有相同标识的程序集&System; Run.Runtime,Version = 4.0.0.0,   Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'已经过了   进口。尝试删除其中一个重复的引用。

问题出在<assemblyBinding> web.config。我不得不改变

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

To(注意绑定重定向版本)

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
       <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
       <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
     </dependentAssembly>
   </assemblyBinding>
 </runtime>

我认为当我将网站从asp.net 2.0升级到4.0时,添加了原始程序集绑定重定向。出于某种原因,这可以在我的一台机器上运行,但是当我在另一台机器上检查项目时,构建失败了。

答案 3 :(得分:0)

在我的情况下,我已经从Nuget(Humanizer)安装了一些东西,它在我的网站上创建了一个名为packages的文件夹,它基本上为每个knwon .net类添加了新的引用(似乎它需要解决一些依赖 - 很多依赖!!))),这就是为什么我有很多.net类的多个引用。我已经完全删除了该软件包,并将其与所有其他依赖项引用一起删除。 现在一切都好。感谢上帝! :)