首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在OS X上构建蛋糕失败,找不到msbuild.exe

在OS X上构建Cake(C# Make)项目时,如果遇到找不到msbuild.exe的问题,通常是因为Cake脚本试图在非Windows平台上使用Windows特定的工具。msbuild.exe是Microsoft Build Engine的Windows版本,而OS X使用的是不同的构建工具链,如xcodebuild

以下是解决这个问题的步骤:

1. 确认Cake脚本中的目标平台

首先,检查你的Cake脚本(通常是.cake文件),确保它没有硬编码对Windows工具的引用。例如,确保没有直接调用msbuild.exe

2. 使用跨平台的构建工具

如果你的项目是基于.NET Core或.NET 5/6/7等跨平台框架,可以使用跨平台的构建工具,如dotnet build

在你的Cake脚本中,可以这样调用:

代码语言:javascript
复制
Task("Build")
  .Does(() =>
{
    DotNetCoreBuild("./src/YourProject.sln", new DotNetCoreBuildSettings {
        Configuration = "Release",
        MSBuildSettings = new MSBuildSettings {
            ToolPath = "/path/to/dotnet"
        }
    });
});

确保/path/to/dotnet指向你的.NET SDK安装路径。

3. 使用Xcode构建iOS或Mac项目

如果你的项目包含iOS或Mac特定的代码,需要使用Xcode进行构建。在Cake脚本中,可以这样调用xcodebuild

代码语言:javascript
复制
Task("Build-iOS")
  .Does(() =>
{
    XcodeBuild("build", new XcodeBuildSettings {
        Project = "YourProject.xcodeproj",
        Scheme = "YourScheme",
        Configuration = "Release",
        DestinationPlatform = "iOS"
    });
});

4. 安装.NET SDK

确保你的OS X系统上安装了最新版本的.NET SDK。你可以从.NET下载页面

下载并安装。

5. 检查环境变量

确保你的环境变量配置正确,特别是PATH变量中包含了.NET SDK的路径。

示例Cake脚本

以下是一个简单的Cake脚本示例,展示了如何在不同平台上构建项目:

代码语言:javascript
复制
#addin nuget:?package=Cake.DotNetCore.Tool
#addin nuget:?package=Cake.Xcode

Task("Clean")
  .Does(() =>
{
    CleanDirectory("./src/**/bin");
    CleanDirectory("./src/**/obj");
});

Task("Build")
  .IsDependentOn("Clean")
  .Does(() =>
{
    if (IsRunningOnWindows())
    {
        MSBuild("./src/YourProject.sln", new MSBuildSettings {
            Configuration = "Release"
        });
    }
    else if (IsRunningOnMacOS())
    {
        DotNetCoreBuild("./src/YourProject.csproj", new DotNetCoreBuildSettings {
            Configuration = "Release"
        });
    }
});

Task("Default")
  .IsDependentOn("Build");
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

OS X的Docker

[c692wr9hvn.png] 在当今虚拟化的世界里,Docker是这个区域的新生儿。在运行Linux时,设置和使用它几乎是微不足道的。如果像许多极客一样,你使用OS X作为你的主要开发系统呢?...假设Docker可用(例如在Ubuntu正确安装),我们可以构建容器: sudo docker build -t hellogo . 最后的点(".")。...对于那些使用OS X的人来说,幸运的是至少有两种可能的方式来实现上述步骤,而无需手动创建Linux VM并在其中运行。...由于端口8200被正确转发,您还可以使用在OS X(主机系统)运行的诸如Safari等浏览器访问http://localhost:8200。 在这次安装中,您可以见证虚拟化的力量。...您的OS X机器基于VirtualBox的虚拟机中运行Ubuntu 14.04系统。现在,在这个Ubuntu系统中,还有一个CentOS 6.5系统容器中运行。

1.3K80

OS X运行Docker

使用Linux系统时,配置和使用Docker几乎是轻而易举的。但是,如果你像许多极客一样使用OS X作为你的主要开发系统呢?...假设已经安装了Docker(可以参考教程Ubuntu安装Docker),我们可以直接构建容器: sudo docker build -t hellogo ....对于那些使用OS X的人来说,幸运的是至少有两种可能的方式来实现上述步骤,而不需要手动创建Linux VM(虚拟机)后在其中运行上面的命令。...由于端口8200被正确转发,您还可以使用在OS X(主机系统)运行的Safari访问http://localhost:8200。 从这个配置过程中,您可以见证虚拟化的力量。...您的OS X机器基于VirtualBox的虚拟机中运行Ubuntu 14.04系统。现在,在这个Ubuntu系统中,还有一个CentOS 6.5系统容器中运行。

1.8K60
  • OS X 使用 Docker

    但如果你和许多极客一样使用 OS X 作为你的主力开发系统呢?我们在这里讨论两种可能的解决方案,使用 boot2docker 或者通过 Linux 虚拟机间接使用它。...指代当前路径(例如 Git 检出到本地的位置),并构建了叫做 hellogo 的镜像。要注意的是,如果 CentOS 6 本地不可用,上述的指令将会从网上获取 CentOS 6 的基础镜像。...对那些使用 OS X 系统的用户来说,我们幸运的找到了至少两个可能的方法来实现以上的这些步骤,而不需要创建一个 Linux 虚拟机并在虚拟机中运行这些教程。...因为 8200 端口已经被正确地转发,你可以 OS X (宿主系统)使用浏览器(如 Safari) 访问 http://localhost:8200 来看看运行结果。...你的 OS X 机器运行着一个基于 VirtualBox 的 Ubuntu 14.04 虚拟机。然后, Ubuntu 系统内,又有着一个运行着 CentOS 6.5 的容器。

    3.3K80

    Mac OS X 装不 TensorFlow?看了这篇就会装

    这个文档说明了如何在 Mac OS X 安装 TensorFlow。(从 1.2 版本开始, Mac OS X TensorFlow 不再支持 GPU。)...virtualenv 是一个和其它 Python 项目开发隔离的虚拟 Python 环境,同一台机器不会干扰也不会被其它程序影响。...可选,如果步骤 5 失败了(一般是因为你使用了低于 8.1 版本的 pip),执行以下任一命令激活的虚拟环境中安装 TensorFlow: $ pip install --upgrade tfBinaryURL...例如,你要在 Mac OS X 安装 Python 2.7 对应的 Tensorflow 版本,虚拟环境中安装 Tensorflow 就执行下面的命令: $ pip3 install --upgrade...例如,你要在 Mac OS X 安装 Python 2.7 对应的 Tensorflow 版本,虚拟环境中安装 Tensorflow 就执行下面的命令: $ sudo pip3 install -

    3.7K60

    开发 | Mac OS X 装不 TensorFlow?看了这篇就会装

    这个文档说明了如何在 Mac OS X 安装 TensorFlow。 注意:从 1.2 版本开始, Mac OS X TensorFlow 不再支持 GPU。...virtualenv 是一个和其它 Python 项目开发隔离的虚拟 Python 环境,同一台机器不会干扰也不会被其它程序影响。...可选,如果步骤 5 失败了(一般是因为你使用了低于 8.1 版本的 pip),执行以下任一命令激活的虚拟环境中安装 TensorFlow: $ pip install --upgrade tfBinaryURL...例如,你要在 Mac OS X 安装 Python 2.7 对应的 Tensorflow 版本,虚拟环境中安装 Tensorflow 就执行下面的命令: $ pip3 install --upgrade...例如,你要在 Mac OS X 安装 Python 2.7 对应的 Tensorflow 版本,虚拟环境中安装 Tensorflow 就执行下面的命令: $ sudo pip3 install -

    2K70

    OS X 系统快速上手 Docker 技术 (对 Docker 还不够熟悉? 从这里开始吧!)

    但在被 Mac 系统占领主导地位的软件开发界,还是让我们来看一下如何在 OS X (现 macOS)平台上安装并运行 Docker。...但是实际,它的守护进程没办法 Mac 运行!...而我最初没有真正感受到这个概念的意义,而是想当然的认为,你需要现在你的 Mac 制作好镜像文件并运行它,然后在你的亚马逊 EC2 云服务器另外制作一个镜像文件并运行它。...从本质上来说,你可以一个原始的镜像文件基础,添加任意数量的对镜像文件的微小修改。这为 Docker 技术带来了强大的优化能力和抽象能力,我们会在稍后再次讲到这一点。...云服务器运行相同的容器 现在,让我们看一下如何在云服务器运行之前我们使用的容器。首先,你需要在 Docker Hub 注册一个账号,这一步是免费的。

    1.7K80

    node-sass 埋坑记录

    无奈,升级了 node 版本,随之而来的就是 node-sass v4.8.0 版本无法使用,又导致构建失败,所以又得安装新版本 node-sass。...但 node-sass 新版本安装过程却又报找不到 Python 环境错误,导致 install 失败。...解决方案 能联网 先升级 angular 版本,再升级 angular-cli 版本 构建失败时,会提示请升级 node 版本,按提示升级,可通过 nvm 或手动下载新版本 node 继续构建时,node-sass...下载失败 请先确认是否是镜像问题,可以手动浏览器地址栏输入 node-sass 下载的地址(可在 package.json.lock 中查看),看是否能够找到对应版本的 node-sass 出现文章开头说过的几种...其实,我最后即使离线安装了 vs studio 2019 的版本之后,node-sass 仍旧还是下载失败,最后,实在没时间去研究了,干脆能访问外网的机子上面,也安装同版本的 node,然后成功下载好

    4.3K10

    .net持续集成sonarqube篇之 sonarqube与jenkins集成(命令模式)

    ,从这一点来看应该是可以无缝的集成到jenkins环境,然而我们把命令原封搬到Jenkins发现,事情并不像想像的那么简单,而是有各种各样的坑存在....tools\OpenCover.Console.exe" -output:"%CD%\testcover.xml" -register:user -target:"C:\Program Files (x86...targetargs:"%CD%\bin\Debug\NunitTest.dll" MSBuild.SonarQube.Runner.exe end 运行以上命令根据可能会出现以下问题: 问题1 命令找不到...第二段msbuild.exe也是一样问题,它必须在工程目录下的时候才不需要指定要编译的项目名,如果当前目录下没有sln或者csproj文件,则需要显式指定项项目文件的完整路径如msbuild.exe "...问题4 默认Jenkins账户无法编译Sonarqube项目 我们把所有的问题都解决完之后,会发现Jenkins仍然构建失败,提示信息如下Running the Scanner for MSBuild

    83920

    一文搞定SonarQube接入C#(.NET)代码质量分析

    如果你的机器没有装有Visual Studio,那么也可以单独使用MSBuild来编译.sln(工程解决方案)或.csproj(项目)。...msbuild.exe的路径一般如下: X86: C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe X64: C:\Program Files (x86...将MSBuild.exe添加到Path环境变量,便于后面命令行中调用MSBuild。...3、通过MSBuild命令编译项目,CMD命令行下执行: MSBuild.exe /t:Rebuild (默认为Debug模式) 或者 MSBuild.exe /t:Rebuild /p:Configuration...6、配置源码管理及其它所需配置(较为简单,此处省略)后,添加并配置构建选项,如下图所示。 ? 7、JOB构建运行结果如下图所示。 ? 8、JOB构建成功后,Sonar代码分析报告如下图所示。 ?

    5.2K31

    Jenkins持续集成与自动化部署系统安装配置

    (注意:Jenkins服务器需安装MSBuild,建议Jenkins安装VS开发工具,可以构建出问题的时候打开VS调试,省去很多不必要的麻烦)。...如VS2017:Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin路径内。...4.遇到的问题     原以为按照度娘的一系列解决方案能够很顺利的构建,可是连续失败了几十次之后,才明白远远没有那么简单。...我们的程序很不规范,其中引用了许多不属于自己版本库的第三方依赖包,和一些自己开发的公共库,当时这些第三方包和公共库放在我们SVN的另一个版本库里进行管理,因此构建的时候导致很多程序集找不到引用。...几十次的构建失败,一堆乱七八糟的引用是多么痛的领悟!

    97430
    领券