创建本地NuGet订阅源

时间:2017-10-02 11:17:24

标签: visual-studio nuget

基本上我正在尝试在我们的网络上设置本地NuGet供稿,以便将dll传递给团队中的其他开发人员。我有NuGet提要工作,可以找到我的包并尝试安装它,但我收到很多错误,所有声明'类型或命名空间'系统'找不到(你是否错过了使用指令或汇编参考)?''

我搜索了SO和Google,但只发现了几个含有非常基本指令的模糊参考文献,例如: -

https://blogs.msdn.microsoft.com/mvpawardprogram/2016/06/28/creating-nuget-packages/

https://docs.microsoft.com/en-gb/nuget/hosting-packages/local-feeds

有谁知道为什么我会收到此错误或者有更详细的nuspec创建源。

我的nuspec文件具有以下依赖项

`<dependencies>
  <dependency id = "System" />
  <dependency id = "System.Collections.Generic" />
  <dependency id = "System.Threading.Tasks" />
  <dependency id = "System.Net" />
  <dependency id = "Newtonsoft.Json" />
  <dependency id = "SQLite.Net.Async-PCL" />
  <dependency id = "SQLite.Net.Core-PCL" />
  <dependency id = "Xamarin.Forms" />
  <dependency id = "Microsoft.Net.Htpp" />
  <dependency id = "Microsoft.Bcl.Build" />
  <dependency id = "Microsoft.Bcl" />
</dependencies>`

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

  

有谁知道为什么我会收到此错误或者有更详细的nuspec创建源。

根据文件:How NuGet resolves package dependencies

  

每当安装或重新安装软件包(包括作为恢复过程的一部分安装)时,NuGet还会安装第一个软件包所依赖的任何其他软件包。

因此,当您使用dependencies将NuGet包安装到项目时,NuGet将尝试解析其依赖关系,然后将它们安装到项目中。在您的nuspec文件中,将system设置为依赖项,NuGet将尝试将此NuGet包system安装到您的项目中。但是这种依赖是来自.NET框架的程序集,NuGet无法解析它。这就是出错的原因&#34; 类型或命名空间&#39;系统&#39;找不到(你错过了使用指令或汇编引用&#34;

要解决此问题,您应该删除系统的依赖关系,否则您可能需要打包程序集&#34; system.dll&#34;到NuGet包并将其设置为您当地的NuGet提要。

此外,此问题也可能发生在依赖关系&#34; System.Collections.Generic&#34;,&#34; System.Net&#34;,&#34; Microsoft.Net.Htpp &#34;