首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在用Xamarin.Android构建CakeBuild项目时找不到mscorlib

在用Xamarin.Android构建CakeBuild项目时找不到mscorlib
EN

Stack Overflow用户
提问于 2018-03-20 14:48:22
回答 1查看 328关注 0票数 5

我正在将一个Xamarin Android项目集成到我们的CI管道中。我们已经在其他CakeBuild项目中使用了.NET,所以我也想在这里使用它。

问题是,在尝试使用Cake构建时,总是会收到以下错误消息:

C:\Program (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(406,2):错误:无法加载程序集'mscorlib,Version=0.0.0.0,Culture=neutral,PublicKeyToken=‘。也许它不存在于配置文件中?C:[myproject.csproj]

在Visual 2015中构建工作,并使用Visual命令提示符。因此,我认为这与VS中设置的环境变量以及通过VS命令提示符设置的环境变量有关。所以我做了一个小批处理文件:

代码语言:javascript
复制
call "%vs140comntools%vsvars32.bat"
Powershell.exe ./build.ps1 -Target Build

但我也得到了同样的错误。在我的项目中,没有对mscorlib的明确引用。

蛋糕构建任务如下所示:

代码语言:javascript
复制
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);    
});

我必须添加TargetFrameworkRootPath,因为如果不显式设置它,它将找不到引用程序集。

我想知道还需要做些什么来复制VS / VS命令提示符的构建环境。

EN

回答 1

Stack Overflow用户

发布于 2018-03-29 18:23:05

您的目标是.NET标准,还是这仍然使用PCL?详细的输出是什么样子的?它应该给出正在执行的确切的MSBuild命令。

call "%vs140comntools%vsvars32.bat" Powershell.exe ./build.ps1 -Target Build -Verbosity Diagnostic

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49387350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档