依赖问题,与MSBuild4.0当做DllImport从C#入非管理C++库
-
27-09-2019 - |
题
明确的设置依赖于VS2010之间的不受管理C++项目和C#项目是荣幸在VS2010,但依赖的是忽视在MSBuild4.0.
这是不可能添加对非管理C++项目从C#项目,据我所知.
我如何确保正确建立了如果一个解决方案包含托管和管理的项目?
解决方案
非常冗长乏味,因此也有错误,在它并不正确的荣誉项目的依赖性增加在方案一级。看看 http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/80cc6447-b720-4806-8395-7c257b207613/ 和 https://connect.microsoft.com/VisualStudio/feedback/details/613284/msbuild-4-does-not-respect-build-order-when-building-a-solution
有张贴通过Microsoft在连接页面指示,其中的一个错误64位版本的MSBuild。尝试换来的32位的版本,看看是否能解决问题。
如果你不能这样做,或者它不工作,有两个其他的选择。他们都不理想。
第一种选择是将手工编辑SLN文件,并更改了该项目出现在文件,以配合建立了你想要的。我想象一下维克多的解决方案将是一个更好的想法,因为其他更改的解决方案文件最终可能复盖的变化。
第二个选择是将手动出口请参阅"metaproject"的解决方案和编辑建立了直接和添加任何其他自定义需要。从我读,即使在Microsoft他们不要"狗食"方案编制,相反,他们避免他们完全在建立和使用的定义MSBuild文件。
产生metaproj,设置环境变量MSBuildEmitSolution1。运行之后MSBuild上的解决方案和你应该看到一个".metaproj"的文件在同一个目录包含的脚本MSBuild生存中汇编解决方案。你应该能够做必要的编辑、检查在,然后设定的建立服务器上编译。
该问题将消失在下一个版本的Visual Studio.Microsoft连接页面有一个贴从Microsoft,将它固定在下一个版本,并有传言说他们摆脱的。sln文件和替换他们与适当的MSBuild项目。