创建本地 NuGet 提要

Creating a local NuGet feed

基本上,我正在尝试在我们的网络上设置本地 NuGet 源,以将 dll 传递给团队中的其他开发人员。我有 NuGet 提要,可以找到我的包并尝试安装它,但我收到很多错误,都指出“找不到类型或命名空间 'System'(您是否缺少 using 指令或程序集引用)? ''

我搜索了 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>`

Does anyone know why I get this error or have a more detailed source for nuspec creation.

根据文档:How NuGet resolves package dependencies

Any time a package is installed or reinstalled, which includes being installed as part of a restore process, NuGet also installs any additional packages on which that first package depends.

因此,当您使用 dependencies 将 NuGet 包安装到项目时,NuGet 将尝试解析其依赖项,然后将它们也安装到项目中。在您的 nuspec 文件中,您将 system 设置为依赖项,NuGet 将尝试将此 NuGet 包 system 安装到您的项目中。但是这个依赖是.NET framework 的程序集,NuGet 无法解析。这就是错误“找不到类型或命名空间 'System'(您是否缺少 using 指令或程序集引用

的原因

要解决此问题,您应该删除系统的依赖性,或者您可能需要将程序集“system.dll”打包到 NuGet 包并将其设置为本地 NuGet 源。

此外,这个问题也可能发生在依赖项“System.Collections.Generic”、“System.Net”、“Microsoft.Net.Htpp”.