nuget - 如何在我的 .Net Core 项目解决方案中包含 NuGet 包?

标签 nuget .net-core nuget-package-restore

对于经典的 .Net 项目,如果我添加了对 NuGet 包的引用,它将被下载到包文件夹中,我可以将其与我的其余代码一起检入源代码管理。这允许任何开发人员下载代码以及 NuGet 包,而无需设置包源来单独下载包。这不是 .Net Core 项目的工作方式。该解决方案似乎没有packages文件夹,每个开发人员都可以设置自定义包源并在获得代码时下载包。有没有办法像经典的 .Net 项目一样配置 .Net Core 项目并管理包文件夹?

最佳答案

许多 NuGet 行为可以通过 NuGet.Config 控制文件(有关更多详细信息,请参阅 this reference)

如果您放置一个 NuGet.Config具有以下内容的解决方案旁边的文件,您可以覆盖包将恢复到的位置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <add key="globalPackagesFolder" value=".\packages" />
  </config>
</configuration>

如果问题是您需要在每台机器上的 VS 中设置其他源,您还可以通过存储库中的 NuGet.Config 添加这些源,以便 VS 在打开解决方案时选择要使用的提要:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="CompanyFeed" value="https://my.company.com/private/nuget" />
  </packageSources>
</configuration>

如果您没有用于托管包的提要并且需要在解决方案中包含包,则可以使用包含 .nupkg 的目录。 NuGet.Config 中的文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="local" value=".\NuGetPackages" />
  </packageSources>
</configuration>

关于nuget - 如何在我的 .Net Core 项目解决方案中包含 NuGet 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43687058/

相关文章:

c# - 包的用途 "Microsoft.EntityFrameworkCore.Design"

c# - EF Core 日志记录的内存泄漏

git - 如何修复丢失的 NuGet 包错误?

jenkins - 在命令行中构建 UWP 应用程序(使用 MSBUILD)

c# - 本地编译时如何将NuGet安装到.nuget文件夹中

nuget - 使用用户凭据进行 dotnet nuget 推送

asp.net - 如何在 Nuget 中排除/不显示 .NET Framework 包?

azure - VS2015 NuGet无法安装Microsoft.WindowsAzure.ConfigurationManager或ServiceBus

c# - Microsoft NuGet 包发行说明

c# - 从 .Net Core 3.1 升级到 .Net 5 后序列化和 MD5 哈希失败