Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.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
将DllImport从C#移植到非托管C++;图书馆 在VS2010中,在VS2010 C++中明确设置了VS2010中的依赖关系,但在MSBug 4中忽略了依赖关系。 P>不可能从C++项目中添加对非托管C++项目的引用,AFAIK ._C#_C++_Visual Studio 2010_Msbuild_Msbuild 4.0 - Fatal编程技术网

将DllImport从C#移植到非托管C++;图书馆 在VS2010中,在VS2010 C++中明确设置了VS2010中的依赖关系,但在MSBug 4中忽略了依赖关系。 P>不可能从C++项目中添加对非托管C++项目的引用,AFAIK .

将DllImport从C#移植到非托管C++;图书馆 在VS2010中,在VS2010 C++中明确设置了VS2010中的依赖关系,但在MSBug 4中忽略了依赖关系。 P>不可能从C++项目中添加对非托管C++项目的引用,AFAIK .,c#,c++,visual-studio-2010,msbuild,msbuild-4.0,C#,C++,Visual Studio 2010,Msbuild,Msbuild 4.0,如果解决方案包含非托管项目和托管项目,如何确保正确的生成顺序?MSBuild中有一个错误,不能正确执行在解决方案级别添加的项目依赖项。看一看 Microsoft在“连接”页面上的帖子表明,这是64位版本的MSBuild中的一个错误。尝试切换到32位版本,看看这是否解决了问题 如果你做不到,或者它不起作用,还有两个选择。两者都不理想 第一个选项是手动编辑SLN文件,并更改项目在文件中的显示顺序,以匹配所需的构建顺序。我认为Victor的解决方案会是一个更好的主意,因为对解决方案文件的额外更改可能会

如果解决方案包含非托管项目和托管项目,如何确保正确的生成顺序?

MSBuild中有一个错误,不能正确执行在解决方案级别添加的项目依赖项。看一看

Microsoft在“连接”页面上的帖子表明,这是64位版本的MSBuild中的一个错误。尝试切换到32位版本,看看这是否解决了问题

如果你做不到,或者它不起作用,还有两个选择。两者都不理想

第一个选项是手动编辑SLN文件,并更改项目在文件中的显示顺序,以匹配所需的构建顺序。我认为Victor的解决方案会是一个更好的主意,因为对解决方案文件的额外更改可能会再次覆盖更改

第二个选项是手动导出解决方案的MSBuild“元项目”,直接编辑生成顺序,并添加所需的任何其他自定义项。据我所知,即使在微软,他们也不会“狗食”解决方案编译,而是在构建过程中完全避免它们,而是使用自定义的MSBuild文件

要生成元项目,请将环境变量MSBuildEmitSolution设置为1。在解决方案上运行MSBuild后,您应该会在同一目录中看到一个“.metaproj”文件—它包含MSBuild在内存中生成的用于编译解决方案的脚本。您应该能够进行必要的编辑,签入它,然后设置生成服务器来编译它


该问题将在Visual Studio的下一版本中消失。Microsoft Connect页面上有一则来自Microsoft的帖子,称该页面将在下一版本中修复,谣传他们正在删除.sln文件,并将其替换为正确的MSBuild项目

我意识到没有什么可以阻止这两个项目的无序建设。不幸的是,C#项目的一些后期构建步骤依赖于Cpp项目的输出。您是否尝试更改解决方案的构建顺序?右键单击解决方案,选择“解决方案生成顺序…”。从技术上讲,解决方案文件不使用MSBuild。他们添加了一点技巧,在构建时将它们转换为MSBuild项目,但这并不完美:)@ShadowChaser:它说“使用依赖项选项卡调整构建顺序”。从这个问题上判断,这就是我所做的。这就是我所想的,我只是想仔细检查一下。