由于间接依赖于当前目标框架,无法解析项目引用

时间:2011-03-16 21:05:20

标签: c# .net visual-studio-2010 ssis packages

有人可以将此翻译成英文吗?

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等之间)

我需要做些什么来解决这个问题?

2 个答案:

答案 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)。