Настройка сборки для решения VS 2013 без VS 2013 - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь настроить сборку виртуальной машины (Windows Server 2012 R2 Datacenter) для старого решения, выполненного в Visual Studio 2013, для .NET 4.5.Помимо стандартных проектов .NET, в нем также есть проект библиотеки Silverlight и Portable.Переносимые библиотеки ориентированы на .NET 4.5 и Silverlight 5.

Я пытаюсь настроить его без необходимости установки Visual Studio 2013.

Я попытался установить.NET 4.5 и .NET 4.0, но для обоих это говорит, что это уже установлено.Проверьте.

На данный момент я установил:

Мой скрипт сборки работает нормально, он выглядит так:

%msbuild% "%solution_path%" /t:Rebuild /p:Configuration=%msbuild_configuration%  /p:Platform="Any CPU" /clp:ErrorsOnly;WarningsOnly /fl /flp:logfile=%output_file%;Append;verbosity=normal /verbosity:quiet /nologo /m /p:VisualStudioVersion=12.0

Скрипт работает на моей машине TM

Первая ошибка, которую я получил, была: (Об этом сообщалось в проекте переносимой библиотеки при первой сборке)

Ошибка MSB4019: импортированный проект "C: \ Program Files (x86) \ MSBuild\ Microsoft \ Portable \ v4.0 \ Microsoft.Portable.CSharp.targets "не найден.Убедитесь, что путь в объявлении правильный, и что файл существует на диске.

Я попытался исправить это с помощью /p:VisualStudioVersion=12.0, но это не помогло (я все равно оставил флаг в командной строкена будущее).

Я пытался обмануть msbuild, поместив необходимые файлы в C:\Program Files (x86)\MSBuild\Microsoft\Portable.

Теперь я получаю другую ошибку для того же проекта переносимой библиотеки:

Ошибка CS0246: Не удалось найти тип или имя пространства имен 'DataMemberAttribute' (если вы пропустили директиву using илиссылка на сборку?)

Это не единственная ошибка.Он сообщает об ошибке для каждого типа CLR, который находит.

Переносимая библиотека в csproj имеет:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Как заставить эту сборку работать?Чего мне не хватает?

...