我發現this Gem,這將是正是我需要的:<Import Project =「WrappedProject.vcxproj」/>在Visual-Studio IDE中工作良好嗎?
要建立一個項目多個配置建設只是一個單 SLN配置,而無需複製項目文件時:
導入項目是這樣的方式爲我工作在Visual Studio 2010:
TestProject64.vcxproj < ==包裝項目
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="TestProject.vcxproj" /> *<== the wrapped project* <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Release|x64"> *<== just needed by VS* <Configuration>Release</Configuration> <Platform>x64</Platform> </ProjectConfiguration> </ItemGroup> <PropertyGroup Label="Globals"> <ProjectGuid>{B7D61F1C-B413-4768-8BDB-31FD464AD053}</ProjectGuid> </PropertyGroup> </Project>
TestProject64.vcxproj.filters
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="TestProject.vcxproj.filters" /> </Project>
TestProject.vcxproj有內部定義的兩種配置:發行| 86 和發行| 64。正如你可以看到TestProject64.vcxproj只有 Release | x64配置。在 中定義至少一個配置TestProject64.vcxproj是必要的,否則Visual Studio不會 能夠將TestProject64.vcxproj添加到解決方案。
現在可以將TestProject.vcxproj和 TestProject64.vcxproj包括到同一個解決方案中,並同時構建Release | x86和 Release | x64。
現在的問題是所有Visual Studio 2010版本是否 - 2015+將處理這口井:
- 威爾VS嘗試編輯/莫名其妙標準化包裝項目?
- 打開項目屬性時會不會有奇怪的行爲?
- 從命令行上的IDE與MSBUILD進行構建時是否會出現意外的行爲?
底線:這種東西是否可以部署在生產團隊中,而不會讓人頭疼?
使用情況下(只是有人有興趣):
- X.sln
- proj_cpp_dll ... C++ DLL可以在64位和32位內置
- proj_exe1_x64。 ..需要64位版本中的DLL
- proj_exe2_Win32 ...需要32位版本中的DLL 通過
Release|Any CPU
(或Release|Mixed Platforms
)
個內置通必須(應該)是足以建立此。
似乎智能感知/查找/導航體驗將是相當不理想的,因爲所有文件都會出現兩次。無論如何,無論它是否有效,第二個答案(或虛擬)到鏈接的問題是更好的解決方案:經過測試,易於擴展和沒有意外(對你的3個問題回答「不」)。如果這不阻礙你:一個更簡單的解決方案是將一個後生成事件添加到只是執行'「/>' –
stijn
@stijn - 哪一個是」secnd「? –
http://stackoverflow.com/a/1575053/128384 – stijn