我正在尝试让网站识别新版本的.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这是问题吗?
答案 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类的多个引用。我已经完全删除了该软件包,并将其与所有其他依赖项引用一起删除。 现在一切都好。感谢上帝! :)