您可以通过破解您的项目文件并复制一些文件来完成此操作。下面的示例用于在 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>
上面的示例适用于 64 位版本的 Visual C++ 2012 运行时库。如果要使用 32 位版本,则应将 x64 替换为 x86。如果您想使用不同版本的 C++ 库,则必须更改 11.0 版本号。如果此时打开项目并转到先决条件,您会注意到 Visual Studio 2013 找不到 Visual C++ 运行时库的警告。要解决此问题,您需要复制一些文件。
- 转到以下文件夹:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages。如果您想要不同版本的 C++ 运行时库,您应该更改 v8.0a 版本号。
- 将文件夹vcredist_x86复制到 Visual Studio 2013 使用的文件夹:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages。确保使用不同的名称以避免覆盖 2013 库。我使用了 vcredist_x64.2012。
此时,您可以打开您的解决方案并发布您的解决方案。当用户安装您的应用程序时,他们将被要求安装 C++ 运行时库。如果您的用户已经安装了应用程序,他们将需要重新安装,否则他们将不会收到安装 C++ 运行时库的问题。
您的系统上可能没有C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages文件夹。我认为除了 Visual Studio 2013 之外,您只有在安装 Visual Studio 2012 时才会获得此文件夹。如果您知道可以在哪里下载文件而无需安装 Visual Studio 2012,请随时编辑此问题。