有人可以将此翻译成英文吗?
The primary reference
"Microsoft.SQLServer.ManagedDTS, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL"
could not be resolved because it has an indirect dependency on the .NET Framework assembly
"mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
which has a higher version "2.0.3600.0"
than the version "2.0.0.0" in the current target framework.
这是MY PROJECT的目标版本的问题,还是.Net和我试图使用的SQL Server库之间的问题?
我需要定位.Net 2.0,但我不关心什么是子级别(2.0.3600)。这可以改变吗?我查看了项目属性,并没有看到任何改变子级别(仅在.Net 2,3.5,4等之间)
我需要做些什么来解决这个问题?
答案 0 :(得分:5)
我在another forum上发现了这个问题,至少已经解释过了。
感谢您抽出宝贵时间发送给我们 这个问题。
看来参考是 mscorlib 2.0.3600,这是Beta 2 .NET 2.0。通常这只是 与版本一起工作 正在运送的产品数量 但是,在这种情况下,Beta 2 数字实际上更高。 Ooopppss ...
为了确切确定在哪里 这个参考来自我们 真的需要从详细开始 登录。你可以通过执行来获得这个 从Visual Studio命令开始 line:msbuild {projectname} / v:d / t:rebuild / fl
这将创建一个msbuild.log文件。 请将此附加到bug中以便这样做 我们可以看看。
正如线程中所示,你可以 使用app.config重定向。 但是,这只适用于和 可执行的,它只是创可贴的 真正的问题,就是你 使用我们的日期DLL。
您也可以使用 参考上的SpecificVersion = true。 然而,这打败了多目标, 并且是一个不受支持的高级版 场景。这基本上是因为 一旦你这样做,你可能得到其他 错误,你真的必须知道 你正在做什么来做到这一点 工作
我们需要确定实际情况 引用.NET v2.0的程序集 Beta 2使我们可以确定如何 你可以得到最新版本的 非Beta2组装。
谢谢,
Chuck England Visual Studio平台 项目经理 - MSBuild
还有两种可能的选项来修复它。一种是使用具有正确清单的版本更新GAC中的Microsoft.SQLServer.msxml6_interop.dll的版本。我不确定你在哪里获得dll,但是值得通过其他网站上的帖子阅读。
另一个选项是.config文件修改。
这是他们为.config更改所做的,但是海报说它在可执行文件中工作,但不在类库中。我希望它有所帮助。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
<dependentAssembly>
<assemblyIdentity name="mscorlib" publicKeyToken="b77a5c561934e089" culture="neutral"/>
<bindingRedirect oldVersion="2.0.3600.0" newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
答案 1 :(得分:4)
我通过针对.Net版本4而不是2来构建我的项目来解决问题(对于SQL Server 2005)。