- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在将 Xamarin Android 项目集成到我们的 CI 管道中。我们已经将 CakeBuild 用于其他 .NET 项目,因此我也想在这里使用它。
问题是我在尝试使用 Cake 构建时总是收到以下错误消息:
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(406,2): error : Could not load assembly 'mscorlib, Version=0.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile? [C:\[myproject].csproj]
在 Visual Studio 2015 中构建作品并使用 Visual Studio 开发人员命令提示。因此,我认为它与在 VS 中和通过 VS 命令提示符设置的环境变量有关。所以我所做的是制作一个小的批处理文件:
call "%vs140comntools%vsvars32.bat"
Powershell.exe ./build.ps1 -Target Build
但我得到了完全相同的错误。在我的项目中,没有明确引用 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);
});
我必须添加 TargetFrameworkRootPath
,因为如果我没有明确设置它,它将找不到引用程序集。
我想知道还有什么可以复制 VS/VS 命令提示符的构建环境。
最佳答案
您的目标是 .NET Standard 还是仍在使用 PCL?详细输出是什么样的?它应该为您提供正在执行的确切 MSBuild 命令。
调用“%vs140comntools%vsvars32.bat”
Powershell.exe ./build.ps1 -Target Build -Verbosity Diagnostic
关于c# - 使用 CakeBuild 构建 Xamarin.Android 项目时找不到 mscorlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49387350/
我想要一个 Argument> (或 string[] ,或其他 - 一个可迭代的字符串列表)到我的 Cake 脚本,但我不知道如何从 build.ps1 传递它至 cake.exe . 这是我到目前
我使用蛋糕 0.22.0。 取决于传入 build.cake 的参数, 我要加载不同的 .cake文件。例如,如果参数 VisualStudioVersion具有值 2013 , 我要加载 vs201
使用 Error() 方法只会记录错误。但是如果我想中止构建怎么办?我可以抛出异常来中止构建,但它似乎不对。那么有没有合适的中止方式呢? var releaseNotes = ParseRelease
我在运行 build.cake 时遇到了一些问题文件,但我无法立即看到问题所在。有没有办法启用诊断详细信息,以便我可以获得有关正在发生的事情以及如何解决问题的更多信息? 最佳答案 是的,您可以轻松地在
我在 build.cake 文件中有一组任务,我想将控制台的日志输出捕获到日志文件中。我知道可以使用 OnError() 函数将错误输出到文件,但我想将所有内容输出到日志文件,而不仅仅是错误。下面是
我尝试找到加载插件和任务的最佳方法,以防发生重大更改。 背景 我基于 Cake 0.25.0 创建了一个插件和几个任务。插件以及任务都打包在 NuGet 包中。现在我想将使用的 Cake 版本更新到
我在 build.cake 文件中有一组任务,我想将控制台的日志输出捕获到日志文件中。我知道可以使用 OnError() 函数将错误输出到文件,但我想将所有内容输出到日志文件,而不仅仅是错误。下面是
我尝试找到加载插件和任务的最佳方法,以防发生重大更改。 背景 我基于 Cake 0.25.0 创建了一个插件和几个任务。插件以及任务都打包在 NuGet 包中。现在我想将使用的 Cake 版本更新到
是否有一种简单的方法可以获取给定目录路径的目录列表(例如 DirectoryPathCollection)? 我希望能够轻松获取当前目录以及给定路径的所有目录。 我在 Directory Operat
在蛋糕文件中,如何在 MsBuild 操作上“启用并行构建”。我将消息输出到终端以“请添加“/m”开关”,但我在传递给 MsBuild 方法的 MS build设置中看不到如何执行此操作。 最佳答案
当我试图在一台只知道 Visual Studio 2017 的机器上安装一个使用 Cake v0.19.1 构建的解决方案时,我似乎无法得到 NuGetRestore接受 MSBuildVersion
我在此站点上找不到与运行自定义系统命令相关的任何信息:cakebuild.net/dsl 我该怎么做? 我要运行的真正命令是“upx mproject.exe” 最佳答案 如果我理解正确的话,那么您正
DotNetCoreBuild 和 DotNetBuild 有什么区别? 我使用 DotNetCoreBuild 作为我的解决方案。解决方案中的所有项目都是核心项目。添加新的非核心项目后,构建不再运行
我无法弄清楚如何在 Cake 中使用 XmlPoke 更改 XML 节点的内部文本值。我不断收到的错误是 Error: Expression must evaluate to a node-set.
我想在我的 Cake 构建期间从 github 版本 ( https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.
xmlns 属性不会被忽略是错误还是每个设计? (蛋糕版本 0.33.0) 使用这样的 Xml(一个过于简化的 nuspec 文件): 3.0.0
我正在尝试 Cake (C# Make) .到目前为止,所有示例和文档都有脚本文件在委托(delegate)中声明其所有代码,如下所示: Task("Clean") .Does(() => {
我正在重构 Cake 构建脚本,并决定引入一个类来保存一些经常传递和/或存在于全局范围内的build设置。 一些设置来自参数,并使用 Argument(string name, string defa
一直在查看 Cake(位于 http://cakebuild.net ),并且想知道它是否可用于部署 Web 应用程序和/或访问虚拟服务器以部署发布包。 我喜欢 cake 作为 C# 部署框架的想法,
我正在将 Xamarin Android 项目集成到我们的 CI 管道中。我们已经将 CakeBuild 用于其他 .NET 项目,因此我也想在这里使用它。 问题是我在尝试使用 Cake 构建时总是收
我是一名优秀的程序员,十分优秀!