C# 纽吉公司;linux上的dotnet-使用提供的包/package

C# 纽吉公司;linux上的dotnet-使用提供的包/package,c#,.net,linux,nuget,nuget-package,C#,.net,Linux,Nuget,Nuget Package,也许我已经老了,但我真的很困惑如何在Linux上使用nupkg。解析和安装依赖项/为C添加libs对我来说更容易(我从未想过我会这么说) 我从一家供应商那里得到了一个包(yyyy_linux.3.0.77.nupkg),我想运行他们的示例代码(带visual studio的windows版本是现成的),但他们告诉我他们的linux包也可以运行 我所做的: dotnet init ... coding ... dotnet restore dotnet build /home/tobiass/c

也许我已经老了,但我真的很困惑如何在Linux上使用nupkg。解析和安装依赖项/为C添加libs对我来说更容易(我从未想过我会这么说)

我从一家供应商那里得到了一个包(yyyy_linux.3.0.77.nupkg),我想运行他们的示例代码(带visual studio的windows版本是现成的),但他们告诉我他们的linux包也可以运行

我所做的:

dotnet init
... coding ...
dotnet restore
dotnet build
/home/tobiass/code/XXXX/Program.cs(27,11):错误CS0246:类型或 找不到命名空间名称“yyyy”(是否缺少使用 指令或组件引用?)

后来我尝试了两件事:

1.

我编辑了NuGet.Config

nupkg显示为一个提要。 但我还是犯了同样的错误


2.

我还尝试创建一个本地提要

mono nuget.exe add ../YYYYYYY_linux.3.0.77.nupkg -source ./
但它总是导致

请求的功能未实现

在Linux上添加库的正确方法是什么?它也必须是project.json的一部分吗?在.nuget中有一些配置吗

最好的


Tobias

我怀疑您的项目不是.NET核心项目,因此您应该使用nuget.exe而不是dotnet

所以首先我要看一看示例代码。它有一个.csproj文件吗?它是否有packages.config文件?它是否已经有一个包含.nupkg文件的packages文件夹?如果是这样的话,就不需要做任何事情,只需要编译

从错误消息中,上述一项或多项不正确。如果项目文件(.csproj)引用了NuGet包中的文件,并且存在一个现有的packages.config文件,那么您所需要做的就是恢复该包。要做到这一点,您需要将NuGet包放在某个地方,以便可以恢复它。您只需将.nupkg文件复制到
~/.local/share/NuGet/Cache/
中,这是所有NuGet包的机器缓存,然后通过运行
NuGet restore Path/To/YourSolution.sln
将其还原到项目中

如果项目没有packages.config文件,则需要将其安装到项目中。最简单的方法是使用MonoDevelop。它内置了对向项目中添加NuGet包的支持

否则,您只需解压缩.nupkg文件,并根据.csproj文件中的信息将文件复制到解决方案的packages目录中

mono nuget.exe add ../YYYYYYY_linux.3.0.77.nupkg -source ./