1

编译我的项目时出现以下错误。我正在使用统一框架进行依赖注入,统一框架版本 3.0.0.0 和 Visual Studio 4.5。据我了解其要求苛刻的统一版本 3.0.1208。

如果是这种情况,我可以从那里下载这个版本,因为我在谷歌上一无所获。

Assembly 'Microsoft.Practices.Prism.UnityExtensions, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' uses 'Microsoft.Practices.Unity, Version=3.0.1208.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'Microsoft.Practices.Unity, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'   e:\DataForm\Binaries\PRISM\Microsoft.Practices.Prism.UnityExtensions.dll    DataForm.WPFApp
4

1 回答 1

2

我有同样的问题,我必须这样做:

1)"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\ildasm.exe" Microsoft.Practices.Prism.UnityExtensions.dll /out:Microsoft.Practices.Prism.UnityExtensions.il

2) 将 Microsoft.Practices.Prism.UnityExtensions.il 第 21 行编辑为:".ver 3:0:1208:0"->".ver 3:0:0:0"

3)保存.il文件

4)"C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe" Microsoft.Practices.Prism.UnityExtensions.il /dll /out:Microsoft.Practices.Prism.UnityExtensions.dll

使用引用版本 3.0.0 而不是 3.0.1208 的新 .dll。

希望它有所帮助;)

更新:

可能您还需要在新组件上做一个新标志:

"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\ildasm.exe" Microsoft.Practices.Prism.UnityExtensions.dll /out:.\Signed\Microsoft.Practices.Prism.UnityExtensions.il

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe" .\Signed\Microsoft.Practices.Prism.UnityExtensions.il /dll /key="C:\MyPublicPrivateKeyFile.snk" /output=. \Signed\Microsoft.Practices.Prism.UnityExtensions.dll

于 2013-05-03T09:25:32.707 回答