Macos 假构建无法在mono下的osx上创建nuget包

Macos 假构建无法在mono下的osx上创建nuget包,macos,f#,mono,nuget,f#-fake,Macos,F#,Mono,Nuget,F# Fake,我在OSX上使用mono下的FAKE构建工具作为构建链的一部分 所有工具链都是使用自制安装的 构建的一部分是将发布工件捆绑在nuget包中,该包正在我的build.fsx构建文件的CreatePackage目标中处理 正在从包装器bash脚本运行生成文件,如下所示: #!/usr/bin/env bash export EnableNuGetPackageRestore=true nuget "Install" "FAKE" "-OutputDirectory" "./build/packag

我在OSX上使用
mono
下的
FAKE
构建工具作为构建链的一部分

所有工具链都是使用
自制
安装的

构建的一部分是将发布工件捆绑在
nuget
包中,该包正在我的
build.fsx
构建文件的
CreatePackage
目标中处理

正在从包装器
bash
脚本运行生成文件,如下所示:

#!/usr/bin/env bash

export EnableNuGetPackageRestore=true
nuget "Install" "FAKE" "-OutputDirectory" "./build/packages" “-ExcludeVersion"
nuget "Install" "FSharp.Data" "-OutputDirectory" "./build/packages" "-ExcludeVersion"
mono "./build/packages/FAKE/tools/Fake.exe" build.fsx "$1"
当我最初运行此命令时,会出现以下错误:

Cannot open assembly '***/tools/NuGet/NuGet.exe': No such file or directory.
System.Exception: Error during NuGet package creation. ***/tools/NuGet/nuget.exe pack -Version 1.0.0 -OutputDirect
Method 'String.Format' not found.
我试图解决这个问题,只是创建了预期的目录结构,并从
brew
安装目录复制
nuget.exe
程序集

此时运行生成会出现以下错误:

Cannot open assembly '***/tools/NuGet/NuGet.exe': No such file or directory.
System.Exception: Error during NuGet package creation. ***/tools/NuGet/nuget.exe pack -Version 1.0.0 -OutputDirect
Method 'String.Format' not found.
为完整起见,我的
build.fsx
build文件的CreatePackage目标如下(截断):


我担心我对努吉不太了解,但我有另一个想法。使用NuGet是您的项目的一项要求吗?因为根据我的经验,和NuGet一起工作要比NuGet好得多。除了XML文件之外,您还可以编写一个简单的文本文件,比如“nuget-FAKE”和“nuget-FSharp.Data”,Paket可以管理您的依赖关系。要查看Paket的运行情况,请克隆并运行其
build.sh
脚本。然后看看
build.sh
build.fsx
,你会有一些好的例子可以复制。Paket可以通过
Paket-pack
命令创建NuGet包。我还没有使用该命令,所以我只能向您指出。对nuget没有真正的依赖性-只需要将部署工件(箱、配置等)打包并作为可安装单元安装在目标Windows服务器上(可从AWS用户数据引导程序调用)。我来看看Paket——听起来很有希望。非常感谢你的建议。我担心我对努吉不太了解,但我有另一个想法。使用NuGet是您的项目的一项要求吗?因为根据我的经验,和NuGet一起工作要比NuGet好得多。除了XML文件之外,您还可以编写一个简单的文本文件,比如“nuget-FAKE”和“nuget-FSharp.Data”,Paket可以管理您的依赖关系。要查看Paket的运行情况,请克隆并运行其
build.sh
脚本。然后看看
build.sh
build.fsx
,你会有一些好的例子可以复制。Paket可以通过
Paket-pack
命令创建NuGet包。我还没有使用该命令,所以我只能向您指出。对nuget没有真正的依赖性-只需要将部署工件(箱、配置等)打包并作为可安装单元安装在目标Windows服务器上(可从AWS用户数据引导程序调用)。我来看看Paket——听起来很有希望。非常感谢你的建议。