tza*_*chs 3 c# msbuild mono visual-studio-2017
我有一个ac#solution(开源,可以在这里:https://github.com/tzachshabtay/MonoAGS),我可以从Visual Studio 2017(Dot net framework)和VS for Mac(Mono)编译.我也可以在Linux和mac上成功地在Travis CI上用msbuild编译它(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)在节点1(默认目标)上构建"C:\ Github\MonoAGS\Source\Tests\Tests.csproj"(2).项目"C:\ Github\MonoAGS\Source\Tests\Tests.csproj"(2)在节点1上构建"C:\ Github\MonoAGS\Source\AGS.API\AGS.API.csproj"(3)(GetTargetFrameworks目标(一个或多个)).C:\ Program Files\dotnet\sdk\2.1.4\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props(29,11):错误MSB4226:导入的项目"C:\ Program Files(x86)\ MSBuild\15.0\Microsoft.Common.props"未找到.另外,尝试在$(MSBuildExtensionsPath) - "C:\ Program Files(x86)\ MSBuild"的后备搜索路径中找到"15.0\Microsoft.Common.prop s".这些搜索路径在"C:\ Program Files\Mono\lib\mono\msbuild\15.0\bin\MSBuild.dll.config"中定义.确认声明中的路径是正确的,并且该文件存在于其中一个搜索路径的磁盘上.[C:\ Github上\ MonoAGS \源\ AGS.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)在节点1上构建"C:\ Github\MonoAGS\Source\AGS.API\AGS.API.csproj"(3)(GetTargetFrameworks目标(一个或多个)).C:\ Github\MonoAGS\Source\AGS.API\AGS.API.csproj:错误MSB4247:无法加载SDK解析器.存在清单文件,但找不到SDK解析程序DLL文件的路径.清单文件路径'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 ions\Microsoft\NuGet\Microsoft.Build.NuGetSdkResolver.dll
至于单声道错误,MSBuild\15.0
文件夹存在但Microsoft.Common.props
不存在(我无法在该机器上的任何其他位置找到它).
至于构建工具错误,该CommonExtensions
文件夹存在但其中没有Microsoft
文件夹.
我正在尝试的命令是:
msbuild /p:Configuration=DEBUG /p:Platform="Any CPU" MonoAGS.sln
为什么不起作用?我错过了什么?谢谢.
如何使用msbuild从命令行编译我的c#解决方案
对于构建工具错误,您应该通过Visual Studio Installer 安装组件NuGet包管理器:
当我们使用Visual Studio构建工具来构建项目时,我们还需要为项目安装一些必要的组件.
对于单声道错误,由于我没有单声道ENV,我无法指定该错误的直接原因,如果可能,您可以尝试安装Mono框架.如果没有帮助,您可以使用mono和msbuild标签打开一个新线程.
更新:
如何使用命令行,btw(用于设置脚本)安装它?
是的,您可以使用vs_buildtools.exe
安装组件ID Microsoft.VisualStudio.Component.NuGet:
vs_buildtools.exe --add Microsoft.VisualStudio.Component.NuGet --quiet
Run Code Online (Sandbox Code Playgroud)
注意:您应该重命名vs_buildtools__2048890300.15156xxxx.exe
为vs_buildtools.exe,然后使用vs_buildtools.exe
它来安装它.
检查Visual Studio Build Tools 2017组件目录和使用命令行参数安装Visual Studio 2017以获取更多详细信息.
希望这可以帮助.
归档时间: |
|
查看次数: |
4531 次 |
最近记录: |