У меня есть решение ac # (с открытым исходным кодом, доступно здесь: https://github.com/tzachshabtay/MonoAGS), которое я могу прекрасно скомпилировать из Visual Studio 2017 (Dot Net Framework) и из VS для Mac (Mono). Я также могу скомпилировать его с помощью msbuild на Travis CI успешно как на Linux, так и на Mac (https://github.com/tzachshabtay/MonoAGS/blob/master/.travis.yml).
Что я не могу сделать, так это скомпилировать его в командной строке из Windows 10 на моем локальном компьютере. Я хотел бы иметь возможность скомпилировать его как для DotNet Framework, так и для Mono.
Поэтому я попытался использовать MSBuild как из моно-установки, так и из Build Tools for Visual Studio 2017
(примечание: я хочу иметь возможность установки на windows, даже если vs2017 не установлен, хотя на локальной машине установлен vs2017, не знаю, если он установлен вопросы).
Обе установки для последних версий на сегодня.
Это ошибка, которую я получаю из msbuild на моно (PATH
было установлено на %programfiles(x86)%\Mono\bin
):
Проект "C: \ Github \ MonoAGS \ MonoAGS.sln" (1) создает "C: \ Github \ MonoAGS \ Source \ Tests \ Tests.csproj" (2) на узле 1 (цели по умолчанию).
Проект "C: \ Github \ MonoAGS \ Source \ Tests \ Tests.csproj" (2) строит "C: \ Github \ MonoAGS \ Source \ AGS.API \ AGS.API.csproj"
(3) на узле 1 (цель (и) GetTargetFrameworks).
C: \ Program Files \ dotnet \ sdk \ 2.1.4 \ Sdks \ Microsoft.NET.Sdk \ Sdk \ Sdk.props (29,11): ошибка MSB4226: импортированный проект "C: \
Программные файлы (x86) \ MSBuild \ 15.0 \ Microsoft.Common.props "не найдены. Также попытался найти" 15.0 \ Microsoft.Common.prop
s "в резервных путях поиска для $ (MSBuildExtensionsPath) -" C: \ Program Files (x86) \ MSBuild ". Эти пути поиска
определены в "C: \ Program Files \ Mono \ lib \ mono \ msbuild \ 15.0 \ bin \ MSBuild.dll.config". Убедитесь, что путь в объявлении правильный, и что файл существует на диске в одном из путей поиска. [C: \ Github \ MonoAGS \ Source \ АГС.
API \ AGS.API.csproj]
И вот ошибка, которую я получаю из msbuild от инструментов сборки (PATH
был установлен на %programfiles(x86)%\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
):
Проект "C: \ Github \ MonoAGS \ Source \ Tests \ Tests.csproj" (2) строит "C: \ Github \ MonoAGS \ Source \ AGS.API \ AGS.API.csproj" (3) на узле 1 (Цель (и) GetTargetFrameworks).
C: \ Github \ MonoAGS \ Source \ AGS.API \ AGS.API.csproj: ошибка MSB4247: не удалось загрузить Resolver SDK. Файл манифеста существует, но путь к файлу DLL SDK Resolver не найден. Путь к файлу манифеста 'C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin \ SdkResolvers \ Microsoft.Build.NuGet
SdkResolver \ Microsoft.Build.NuGetSdkResolver.xml. Путь распознавателя SDK: C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ Common7 \ IDE \ CommonExtens
Ионы \ Microsoft \ NuGet \ Microsoft.Build.NuGetSdkResolver.dll
Что касается моно-ошибки, папка MSBuild\15.0
существует, но Microsoft.Common.props
там нет (и я не мог найти ее где-либо еще на этой машине).
Что касается ошибки инструментов сборки, папка CommonExtensions
существует, но в ней нет папки Microsoft
.
Я пробую команду:
msbuild /p:Configuration=DEBUG /p:Platform="Any CPU" MonoAGS.sln
Почему это не работает? Что мне не хватает?
Спасибо.