- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
也许我老了,但我真的很困惑如何在 Linux 上使用 nupkg。为 C 解决和安装依赖项/添加库对我来说更容易(从来没有想过我会这么说)。
我从供应商那里得到了一个包 (YYYYY_linux.3.0.77.nupkg) 并想运行他们的示例代码(带有 visual studio 的 Windows 版本开箱即用)但他们告诉我他们的 linux 包也可以。
我做了什么:
dotnet init
... coding ...
dotnet restore
dotnet build
/home/tobiass/code/XXXX/Program.cs(27,11): error CS0246: The type or namespace name 'YYYYY' could not be found (are you missing a using directive or an assembly reference?)
之后我尝试了两件事:
1.
我编辑了 NuGet.Config
dotnet restore
The nupkg shows up as a feed. But I still get the same error.
2.
我还尝试创建一个本地提要
mono nuget.exe add ../YYYYYYY_linux.3.0.77.nupkg -source ./
但它总是导致
The requested feature is not implemented.
在 Linux 上添加库的正确方法是什么?它也必须是 project.json 的一部分吗? .nuget 中的某些配置?
最好的,
托比亚斯
最佳答案
我怀疑您的项目不是 .NET Core 项目,因此您应该使用 nuget.exe 而不是 dotnet。
所以首先我会看一下示例代码。它有 .csproj 文件吗?它有 packages.config 文件吗?它是否有一个包含 .nupkg 文件的包文件夹?如果是这样,则无需执行任何操作,只需编译即可。
从报错信息来看,以上一项或多项都不正确。如果项目文件 (.csproj) 引用了 NuGet 包中的文件并且存在现有的 packages.config 文件,则您需要做的就是恢复包。为此,您需要将 NuGet 包放在某个地方,以便它可以恢复。您可以简单地将 .nupkg 文件复制到 ~/.local/share/NuGet/Cache/
中,这是所有 NuGet 包的机器缓存,然后通过运行 nuget 将其恢复到项目中恢复 Path/To/YourSolution.sln
.
如果项目没有 packages.config 文件,那么您需要将其安装到项目中。最简单的方法是使用 MonoDevelop。它内置了对向项目添加 NuGet 包的支持。
否则,您可以直接解压 .nupkg 文件,然后根据 .csproj 文件中的信息将需要的文件复制到解决方案的包目录中。
关于c# - Linux 上的 Nuget 和 dotnet - 使用/打包提供的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41893551/
我在 Ubuntu v16.04 上安装了 dotent core。问题是当我尝试使用 dotnet user-secrets 时它说:未找到匹配命令“dotnet-user-secrets”的可执行
好。这似乎是我看到答案时会面对的问题类型。 所以... 为什么要打扰 dotnet build做之前dotnet publish ? build自动执行 restore .凉爽的。 好像publish
我正在尝试创建一个 dotnet 新模板的 NuGet 包。我创建了一个 nuspec 文件来设置包的详细信息,它位于我的内容文件夹旁边,其中包含我想要打包的所有内容: My.
我正在尝试使用'dotnet dev-certs'工具导出https证书以包含在Docker镜像中。现在我正在使用: dotnet dev-certs https -v -ep $(HOME)\.as
我昨天从 .Net 5 更新到 .Net 6,现在我的项目无法从 dotnet run 开始。然后我得到错误: Building... warn: Microsoft.AspNetCore.Serve
我使用 dockerfile 成功构建,但是当我尝试从构建镜像运行新容器时,出现以下错误: 我必须为解决方案做什么? Error : /bin/sh: 1: [dotnet,: not found d
我有一个引用其他几个项目的 .NET Core 3 项目。我的主根项目有一个 Release-X构建配置,但其他项目只有 Release配置,无匹配 Release-X配置。 当我尝试使用这个发布我的
我的 dotnet new 列表中有许多“孤立的”dotnet 模板。 它们不再存在于我的驱动器上,因为我删除了文件夹,所以我不能 dotnet new --uninstall。 有没有办法从列表中删
编辑: 以下是最初与标题一起发布的前一个问题 xunit show ITestOutputHelper output when run in the console 经过调查(见评论),这个问题仍然非
来自 docs.microsoft.com: dotnet build - Builds a project and all of its dependencies. dotnet run - Run
我有一个 Dotnet 核心项目,我试图在其中安装 Microsoft.EntityFrameworkCore.Tools.Dotnet 以使用迁移。我在 Mac 上,所以我使用 MySql.Data
我已经在这个问题上徘徊了很长一段时间,但仍然没有找到答案,也没有其他帖子处理同样的问题。 我已经发布了一个 .net 5.0 网站,如果我在同一个发布的文件夹中运行 dotnet,一切都会正常运行。在
我正在尝试使用 CLI dotnet 命令复制以下 Azure 管道: - task: DotNetCoreCLI@2 inputs: command: publish publi
假设这个文件夹结构 SampleApp global.json Src Web pro
我正在使用dotnet watch命令来运行asp.net core项目。但是,默认情况下,它选择 Production 作为环境。 我已经尝试了这两个选项: 1) > dotnet watch AS
我正在尝试在 Linux 主机上的官方 Microsoft/dotnet 镜像之外的容器中构建一个 dotnet 项目,因为该镜像与 Windows 和 Linux 都兼容。我只有 linux 主机,
我不是 Linux 用户,所以这可能是一个简单的修复,但我已经尝试了以下方法: 首先我使用命令 curl -sSL https://dot.net/v1/dotnet-install.sh | bas
我在发布配置文件中遇到了 Visual Studio 和 EF 迁移的奇怪情况。鉴于: Visual Studio 2019 v16.4 .NET 核心项目。目标 .NET Core 3.1 EF 3
我已经安装了 .NET Core 1.0.1 以与 VS 2015 Update 3 一起使用,并且以管理员身份运行(在 Windows 8.1 x64 上)。 如果我创建任何 .NET Core 项
我正在尝试为dotnet core 2创建开发Dockerfile。到目前为止,我的工作是: FROM microsoft/aspnetcore-build:2.0 VOLUME /app WORKD
我是一名优秀的程序员,十分优秀!