Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VS2015警告MSB3277 mscorlib之间存在冲突_C#_C++_Visual Studio 2015_C++ Cli_Mscorlib - Fatal编程技术网

C# VS2015警告MSB3277 mscorlib之间存在冲突

C# VS2015警告MSB3277 mscorlib之间存在冲突,c#,c++,visual-studio-2015,c++-cli,mscorlib,C#,C++,Visual Studio 2015,C++ Cli,Mscorlib,我正在尝试将一个具有三种不同语言的程序从VS2008升级到VS2015,并遇到警告MSB3277,这是两个不同版本的mscorlib之间的冲突。语言:原生C/C++静态库、C++/CLI程序集、两个C#程序集和一个最终C#exe 看起来本机C/C++和C++/CLI都可以很好地编译。问题出现在编译C#exe以及MSB3277时,它无法看到C++/CLI中定义的名称空间之一。我的理论是,mscorlib问题在C++/CLI和C#代码之间,导致找不到名称空间 下面是我打开详细日志记录时得到的结果。在

我正在尝试将一个具有三种不同语言的程序从VS2008升级到VS2015,并遇到警告MSB3277,这是两个不同版本的mscorlib之间的冲突。语言:原生C/C++静态库、C++/CLI程序集、两个C#程序集和一个最终C#exe

看起来本机C/C++和C++/CLI都可以很好地编译。问题出现在编译C#exe以及MSB3277时,它无法看到C++/CLI中定义的名称空间之一。我的理论是,mscorlib问题在C++/CLI和C#代码之间,导致找不到名称空间

下面是我打开详细日志记录时得到的结果。在我看来,.NET4.0的第三方库仍然在使用mscorlib的.NETv2,对吗?如果是,我如何修复它

1>  There was a conflict between "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes". (TaskId:13)
1>      "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" was chosen because it was primary and "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes" was not. (TaskId:13)
1>      References which depend on "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" [C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\mscorlib.dll]. (TaskId:13)
1>          C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\mscorlib.dll (TaskId:13)
1>            Project file item includes which caused reference "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\mscorlib.dll". (TaskId:13)
1>              C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\mscorlib.dll (TaskId:13)
1>              System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL (TaskId:13)
1>              C:\mainSolution\exeProgram\Debug\cppcliLibrary.dll (TaskId:13)
1>              Common.Logging, Version=3.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL (TaskId:13)
1>              log4net (TaskId:13)
1>              Spring.Core, Version=2.0.1.45000, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL (TaskId:13)
1>          C:\licenseMgr\3rdPartyLibraries\log4net-2.0.8\bin\net\4.5\release\log4net.dll (TaskId:13)
1>            Project file item includes which caused reference "C:\licenseMgr\3rdPartyLibraries\log4net-2.0.8\bin\net\4.5\release\log4net.dll". (TaskId:13)
1>              C:\mainSolution\exeProgram\Debug\cppcliLibrary.dll (TaskId:13)
1>              log4net (TaskId:13)
1>          C:\mainSolution\exeProgram\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll (TaskId:13)
1>            Project file item includes which caused reference "C:\mainSolution\exeProgram\packages\System.Data.SQLite.Core.1.0.108.0\lib\net46\System.Data.SQLite.dll". (TaskId:13)
1>              System.Data.SQLite, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL (TaskId:13)
1>          C:\mainSolution\exeProgram\packages\Spring.Core.2.0.1\lib\net45\Spring.Core.dll (TaskId:13)
1>            Project file item includes which caused reference "C:\mainSolution\exeProgram\packages\Spring.Core.2.0.1\lib\net45\Spring.Core.dll". (TaskId:13)
1>              Spring.Core, Version=2.0.1.45000, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL (TaskId:13)
1>          C:\mainSolution\exeProgram\packages\Common.Logging.3.0.0\lib\net40\Common.Logging.dll (TaskId:13)
1>            Project file item includes which caused reference "C:\mainSolution\exeProgram\packages\Common.Logging.3.0.0\lib\net40\Common.Logging.dll". (TaskId:13)
1>              Spring.Core, Version=2.0.1.45000, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL (TaskId:13)
1>              Common.Logging, Version=3.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL (TaskId:13)
1>          C:\mainSolution\exeProgram\Debug\cppcliLibrary.dll (TaskId:13)
1>            Project file item includes which caused reference "C:\mainSolution\exeProgram\Debug\cppcliLibrary.dll". (TaskId:13)
1>              C:\mainSolution\exeProgram\Debug\cppcliLibrary.dll (TaskId:13)
1>      References which depend on "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes" []. (TaskId:13)
1>          C:\mainSolution\exeProgram\packages\Common.Logging.Core.3.0.0\lib\net40\Common.Logging.Core.dll (TaskId:13)
1>            Project file item includes which caused reference "C:\mainSolution\exeProgram\packages\Common.Logging.Core.3.0.0\lib\net40\Common.Logging.Core.dll". (TaskId:13)
1>              Common.Logging.Core, Version=3.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL (TaskId:13)
1>              Common.Logging, Version=3.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL (TaskId:13)
1>              Spring.Core, Version=2.0.1.45000, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL (TaskId:13)
1>          C:\mainSolution\exeProgram\packages\Spring.Core.2.0.1\lib\net45\Spring.Core.dll (TaskId:13)
1>            Project file item includes which caused reference "C:\mainSolution\exeProgram\packages\Spring.Core.2.0.1\lib\net45\Spring.Core.dll". (TaskId:13)
1>              Spring.Core, Version=2.0.1.45000, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL (TaskId:13)
1>          C:\mainSolution\exeProgram\packages\Common.Logging.3.0.0\lib\net40\Common.Logging.dll (TaskId:13)
1>            Project file item includes which caused reference "C:\mainSolution\exeProgram\packages\Common.Logging.3.0.0\lib\net40\Common.Logging.dll". (TaskId:13)
1>              Spring.Core, Version=2.0.1.45000, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL (TaskId:13)
1>              Common.Logging, Version=3.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL (TaskId:13)

(在Microsoft窗体中也会询问)

这是正常的,2.0.5.0版是可移植类库使用的mscorlib的特殊版本。设计用于在不同平台上运行的库。它是可重定目标的,CLR在运行时将其解析为版本4.0.0.0。这不是你的编译错误的原因。汉斯,对我应该寻找什么有什么建议吗?在详细模式下,我确实发现了相同的“warning MSB3277”消息,滚动它下面列出的所有程序集(long,long list),并且所有内容都使用v4或greator。有什么建议吗?