当前位置: 首页 > 面试题库 >

如何在Ubuntu 14.04上使用dotnet CLI注册新的NuGet软件包源?

翟沈义
2023-03-14
问题内容

我正在Ubuntu 14.04上运行.NET Core 1.1.0,目标是在Ubuntu上的Docker中托管我的Web
API。我想在Ubuntu上构建我的软件包,但某些NuGet引用托管在内部NuGet存储库(Artifactory)上。添加包源后,在Windows上的VS2015中,此方法运行良好,但是在运行时:

dotnet restore

在Ubuntu上,托管在公共NuGet存储库上的软件包可以很好地下载,但是在Artifactory上的软件包失败:

error: Unable to resolve 'Mercury.BaseModel (>= 1.1.0)' for '.NETCoreApp,Version=v1.1'.

我在找到一个NuGet配置文件,\home\<user>\.nuget\NuGet\NuGet.Config并添加了Artifactory存储库,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="Artifactory-DEV" value="https://theluggage-agct.gray.net/artifactory/api/nuget/nuget-institutional-development-local" protocolVersion="3"/>
  </packageSources>
</configuration>

但我仍然遇到相同的错误。

安装.NET Core SDK后,NuGet本身不起作用,我正在dotnet restore按提及的方式使用-是否必须为dotnet
CLI编辑类似的配置(必须使用NuGet?),或者是否需要做其他事情?

谢谢!


问题答案:

毕竟,我很快发现了我遗漏的2个问题:

  1. 我曾经sudo -i以root用户身份运行以尝试解决问题,结果是我在\ home文件夹中设置的NuGet配置没有被使用。
  2. 回到我自己的登录,然后出现错误:
    error: Unable to load the service index for source https://theluggage-agct.gray.net/artifactory/api/nuget/nuget-institutional-development-local.
    

    error: The content at 'https://theluggage-agct.gray.net/artifactory/api/nuget/nuget-institutional-development-local’ is not a valid JSON object.
    error: Unexpected character encountered while parsing value: <. Path ‘’, line 0, position 0.

原来,我们的Artifactory NuGet回购返回的XML符合NuGet
v2。我更改了配置文件,将存储库设置为v2,现在可以正常工作了。因此,从上方在以下位置编辑文件

\home\<user>\.nuget\NuGet\NuGet.Config

添加新的回购URL,并正确获得版本设置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="Artifactory-DEV" value="https://theluggage-agct.gray.net/artifactory/api/nuget/nuget-institutional-development-local" protocolVersion="2"/>
  </packageSources>
</configuration>


 类似资料:
  • 未能用UWP扩展我现有的项目,我搜索为什么某些现有项目不能用UWP扩展的原因。 所有的nuget包对于*.ios*.droid、**.\shared和*.uwp都应该是一样的吗? 如果我的解决方案中有其他项目(不是xamarin项目)怎么办?

  • 问题内容: 有没有办法从npm注册表中删除或删除整个模块? 注意:不允许您取消发布超过24小时的内容 问题答案: 考虑到最近的事件,有一篇关于此的文章。最好的选择是与npm联系,并希望您的软件包不受其他项目的依赖。 如果版本早于24小时,则取消发布将失败,并显示一条消息,联系support@npmjs.com。 如果您与支持人员联系,他们将检查删除该版本的软件包是否会破坏其他安装。如果是这样,我们

  • 使用Azure Functions,我可以在我的C#函数中引用和使用NuGet包吗?

  • 问题内容: 使用pip更新软件包的方式是什么?那些不起作用: 我知道这是一个简单的问题,但由于不是那么容易找到它,所以它是必需的(pip文档不会弹出,并且堆栈溢出中的其他问题是相关的,但并不完全与此相关) 问题答案: 方式是 或总之 使用会要求输入您的root密码来确认操作,但是尽管很常见,但被认为是不安全的。 如果您没有root密码(如果您不是管理员),则可能应该使用virtualenv。 您也

  • 我对用Python创建一个包很感兴趣。为了做到这一点,我观看并阅读了几个教程,但总有一些东西不想工作。 我正在做的事 我创建了一个文件夹,其中有另一个文件夹,它对应于我的包的名称。 文件夹包含两个文件: -指明包所在位置的文件 -包含要包含到包中的函数的文件 在functions.py中有一个基本功能: 总结一下-我的文件结构如下 包含包含和。 我尝试使用加载包,然后使用,但我得到的消息是。似乎我

  • 问题内容: 我在设置python包时遇到了困难。应该可以使用SetupTools的EasyInstall来解决此问题,但是它们没有适用于Python 2.6的可执行文件。 例如要安装Mechanize,我只想根据INSTALL.txt将Mechanize文件夹放在C:\ Python24 \ Lib \ site- packages中,但是运行测试无效。有人可以帮忙阐明一下吗?谢谢! 问题答案: