ger*_*rmi 5 c# msbuild android xamarin cakebuild
我正在将Xamarin Android项目集成到我们的CI管道中.我们已经将CakeBuild用于其他.NET项目,所以我也想在这里使用它.
问题是,在尝试使用Cake构建时,我总是会收到以下错误消息:
C:\ Program Files(x86)\ MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(406,2):错误:无法加载程序集'mscorlib,Version = 0.0.0.0,Culture = neutral,PublicKeyToken =' .也许它在Mono for Android配置文件中不存在?[C:\ [myproject的]的.csproj]
构建在Visual Studio 2015中工作并使用Visual Studio Developer命令提示符.因此,我认为它与VS中设置的环境变量和VS命令提示符有关.所以我做的是制作一个小批量文件:
call "%vs140comntools%vsvars32.bat"
Powershell.exe ./build.ps1 -Target Build
Run Code Online (Sandbox Code Playgroud)
但我得到了完全相同的错误.在我的项目中,没有明确的参考mscorlib.
Cake构建任务如下所示:
Task("Build")
.IsDependentOn("Restore-NuGet-Packages")
.Does(() =>
{
var settings = new MSBuildSettings()
{
ArgumentCustomization = args =>
{
args = args.Append("/t:PackageForAndroid");
args = args.Append("/p:TargetFrameworkRootPath=\"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\"");
return args;
},
Verbosity = Verbosity.Normal
};
settings.SetConfiguration(configuration);
MSBuild("../myproject.csproj", settings);
});
Run Code Online (Sandbox Code Playgroud)
我必须添加,TargetFrameworkRootPath因为如果我没有明确设置它将找不到引用程序集.
我想知道还有什么可以复制VS/VS命令提示符的构建环境.
小智 0
您的目标是 .NET Standard 还是仍在使用 PCL?详细输出是什么样的?它应该为您提供正在执行的确切 MSBuild 命令。
call "%vs140comntools%vsvars32.bat"
Powershell.exe ./build.ps1 -Target Build -Verbosity Diagnostic
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |