你可以通過黑客攻擊你的項目文件和複製一些文件來實現這一點。下面的示例用於在Visual Studio 2013中使用Visual C++ 2012運行時庫。如果您使用的是Visual Studio的不同版本,或者需要不同版本的Visual C++運行時庫,則必須更改某些版本號。
首先將以下添加到您的項目文件:
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Visual.C++.11.0.x64">
<Visible>False</Visible>
<ProductName>Visual C++ 2012 Runtime Libraries %28x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
上面的例子是在Visual C++ 2012運行時庫的64位版本。如果你想使用32位版本,你應該用x86代替x64。如果您想使用不同版本的C++庫,則必須更改11.0版本號。如果此時打開項目並轉到先決條件,您將注意到Visual Studio 2013找不到Visual C++運行時庫的警告。要解決這個問題,你需要複製一些文件。
- 轉到以下文件夾:C:\ Program Files文件(x86)的\微軟的SDK \的Windows \ v8.0A \引導程序\軟件包。如果您需要不同版本的C++運行時庫,則應更改v8.0a版本號。
- 將文件夾複製vcredist_x86到的Visual Studio 2013採用了文件夾:C:\ Program Files文件(x86)的\微軟的SDK \的Windows \ v8.1A \引導程序\軟件包。確保使用不同的名稱來避免覆蓋2013年的圖書館。我用vcredist_x64.2012。
此時您可以打開您的解決方案併發布您的解決方案。當用戶安裝你的應用程序時,他們會被要求安裝C++ Runtime庫。如果你的用戶已經安裝了應用程序,他們將需要重新安裝,否則他們不會得到安裝C++運行時庫的問題。
您的系統上可能沒有C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0A \ Bootstrapper \ Packages文件夾。我想只有當您安裝Visual Studio 2013之外的其他Visual Studio 2012時,纔會獲得此文件夾。如果您知道在哪裏可以下載文件而無需安裝Visual Studio 2012,請隨時編輯此問題。
指出它們存在在VS版本中你不會太明顯。您不需要它們,只需將您機器上的DLL複製到與EXE相同的目錄即可。您需要msvcr110.dll和可能的msvcp110.dll,在Windows目錄中找到它們(system32爲64位版本,syswow64爲32位版本)。 – 2015-04-06 13:32:22