gpt4 book ai didi

c# - 如何在 Visual Studio 2015 中为多个解决方案和项目设置单个 Nuget 包文件夹

转载 作者:可可西里 更新时间:2023-11-01 07:56:52 24 4
gpt4 key购买 nike

我们正在 Visual Studio 2015 中开发多个解决方案。这些解决方案共享一些需要 nuget 包的核心项目。当从一个解决方案添加 nuget 包并稍后由另一个解决方案打开时,无法解析 nuget 引用。

文件夹结构如下:

  • 代码库
    • 共享项目
      • 共享项目1
    • 解决方案A
      • 网络项目A
      • 包文件夹A
    • 解决方案B
      • 网络项目B
      • 包文件夹 B

当我在 SolutionA 打开时将 nuget 包安装到 SharedProject1 时,dll 引用显示了 packages 文件夹 A 的路径。当 SolutionB 在另一台计算机上打开时,SharedProject1 出现引用错误,因为 packages 文件夹 A 不存在。

我已阅读此解决方案:Setting up a common nuget packages folder for all solutions when some projects are included in multiple solutions但这并不能解决问题,因为 .nuget/NuGet.config 文件中的 repositoryPath 键不适用于 Visual Studio 2015Nuget 3.4.3

最佳答案

为了解决这个问题,我们将一个 NuGet.config 文件放入 Codebase 目录,然后删除解决方案中的所有其他 Nuget.config 文件和 .nuget 文件夹。由于 NuGet 配置传播到子文件夹,单个 NuGet.config 文件中的设置将应用于所有解决方案。

在 Nuget.config 文件中,我们放置了 packageSourcerepositoryPath 设置。

示例 NuGet.config 文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<config>
<add key="repositoryPath" value="./SharedPackages" />
</config>
</configuration>

现有的 nuget 包需要卸载并重新安装,因为 .csproj 文件中的 dll 引用仍将显示旧的 packages 文件夹。或者您可以手动编辑 .csproj 文件。

生成的文件夹结构:

  • 代码库 文件夹
    • Nuget.Config 文件
    • SharedPackages 文件夹
    • SharedProjects 文件夹
      • 共享项目1
    • SolutionA 文件夹
      • 网络项目A
      • 包文件夹 A
    • 解决方案B
      • 网络项目B
      • 包文件夹 B

关于c# - 如何在 Visual Studio 2015 中为多个解决方案和项目设置单个 Nuget 包文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37274599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com