Где находится пакет VC++ 2012 Runtime Bootstrapper в Visual Studio 2013?

У меня есть приложение.NET 4.5.2, которое развернуто через ClickOnce. Он использует библиотеку Magick.NET, для которой требуется распространяемый Visual C++ для Visual Studio 2012. Я пробовал ее с пакетом 2013 года, но для работы по-прежнему нужна версия 2012 года. К сожалению, единственная версия, указанная в списке возможных предварительных условий в Visual Studio 2013, - это версия 2013 года. Другой версии нигде не найти:

Предварительно необходимое окно Visual Studio 2013 ClickOnce

Как включить библиотеки времени выполнения Visual C++ 2012 с моим приложением ClickOnce в Visual Studio 2013?

РЕДАКТИРОВАТЬ: Кажется, есть очень похожий вопрос для другой версии Visual Studio, которая получила очень мало внимания.

1 ответ

Решение

Вы можете сделать это, взломав файл проекта и скопировав некоторые файлы. Приведенный ниже пример предназначен для использования библиотек времени выполнения Visual C++ 2012 в Visual Studio 2013. Вам придется изменить некоторые номера версий, если вы используете другую версию 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++. Чтобы это исправить, вам нужно будет скопировать некоторые файлы.

  1. Перейдите в следующую папку: C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages. Если вам нужна другая версия библиотек времени выполнения C++, вам следует изменить номер версии v8.0a.
  2. Скопируйте папку vcredist_x86 в папку, используемую Visual Studio 2013: C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.1A \ Bootstrapper \ Packages. Убедитесь, что вы используете другое имя, чтобы избежать перезаписи библиотек 2013 года. Я использовал vcredist_x64.2012.

На этом этапе вы можете открыть свое решение и опубликовать его. Когда пользователи устанавливают ваше приложение, им также предлагается установить библиотеки C++ Runtime. Если ваши пользователи уже установили приложение, им нужно будет переустановить его, иначе у них не возникнет вопроса об установке библиотек C++ Runtime.

Возможно, в вашей системе нет папки C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages. Я думаю, что вы получите эту папку только при установке Visual Studio 2012 помимо Visual Studio 2013. Не стесняйтесь редактировать этот вопрос, если вы знаете, где можно просто загрузить файлы без необходимости установки Visual Studio 2012.

Другие вопросы по тегам