使用dotnet或nuget在macOS上本地安装.nupkg

时间:2018-12-18 22:04:52

标签: c# nuget

问题

我有一个.nupkg文件,我正在尝试在macOS上本地安装它,以便可以运行依赖于它的.net核心应用程序。我该怎么做?

我已经安装了dotnet运行时mononuget.exe。我尝试查看不同的nuget install选项,尝试了类似nuget install <file>.nupkgnuget install -Source . <file>之类的方法,但是似乎没有任何效果。他们只是告诉我路径不正确,或者再次向我显示命令帮助。我希望它会说类似“将.nupkg安装到〜/ .nuget / packages”之类的内容。

我了解到Windows用户拥有的一个选项是Install-Package命令,他们可以从Powershell中使用它们,但是我很确定这也可以通过nuget来实现吗?

背景

我对.net和.net核心开发有些陌生。

我已经在Windows中编译了一些.net核心代码,这些代码依赖于自定义库,我相信我应该能够使用.dll在macOS上运行生成的dotnet文件。相反,我收到类似于以下内容的错误:

Error:
  An assembly specified in the application dependencies manifest (foo.deps.json) was not found:
    package: 'A.B', version: '0.9.5'
    path: 'lib/netstandard1.3/A.B.dll'

更新

我认为我误解了.nupkg文件的用途;我现在认为它们仅在开发过程中使用,而不用于运行代码(运行代码的依赖项似乎打包为.dll,如上面的错误消息所述)。

我通过发布项目(dotnet publish)解决了上述错误,然后可以使用.dll运行生成的dotnet ./path/to/publish/foo.dll;依赖项最终被复制到publish文件夹中。

在确定如何安装.nupkg进行开发时,我仍然遇到问题,因此,我很感谢接受的答案。

1 个答案:

答案 0 :(得分:1)

尝试这个

dotnet add package A.B -s "<here_your_path_to_nupkg>"

或添加本地来源,如

nuget sources add -name FeedName -Source "<here_your_path_to_nupkg>"

然后

dotnet add package A.B -s FeedName