在解决方案之间共享项目时的NuGet

在解决方案之间共享项目时的NuGet

问题描述:

我有几个共享某些常见项目的解决方案,例如包含访问我的数据模型的所有必备项目的项目。在解决方案之间共享项目时的NuGet

Solution Explorer situation

实际的问题是,试图与在的NuGet一个proyect具有相关性(前。Iesi.Collections)安装软件包,将在当前解决方案目录中,而不是在proyect目录DLL的引用。然后,当我尝试去我的另一个解决方案时,共享项目无法编译(因为缺少程序集)。

First path reference 我已经找遍了所有周围以独立的方式在解决方案之间共享项目中使用的NuGet Second path reference

所以问题是......我如何管理获得一个独立的行为和NuGet的解决方案之间的引用?

+0

你真的用一堆领先的空格来命名你的项目吗? –

+2

@WimOmbelets它被称为隐私......任何项目名称中都没有空格 – rpfc

解决此问题的一种方法是将.nuget\NuGet.config文件添加到所有解决方案,并将repositoryPath设置为一个已决定的本地文件夹。

this link,假设你使用VS2015:

  1. 创建解决方案(文件系统)的根.nuget文件夹(如果您无法使用创建一个文件夹.nuget Windows资源管理器,您可以通过输入.nuget.来代替)

  2. 在该文件夹中,创建一个文件NuGet.config。

  3. 在Visual Studio 2015年,右键单击该解决方案,并添加一个名为“.nuget”一个新的解决方案目录

  4. 右击该文件夹,然后选择添加新的现有文件,并选择的NuGet。 (2)中创建的配置文件。

  5. 这样添加内容NuGet.config文件内:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <solution> 
    <add key="disableSourceControlIntegration" value="true" /> 
    </solution> 
    <config> 
    <add key="repositoryPath" value="..\..\..\..\NugetPackages" /> 
    </config> 
</configuration> 
  1. 重新启动Visual Studio
  2. 注意您必须修复现有的引用,例如通过删除并重新添加所有包。

    我个人使用包的绝对路径,因为不是我的所有解决方案都在同一个文件夹层次结构中 - 如果你在一个团队中,你可能想先讨论这个问题。

开始=>
+0

非常感谢!这似乎很好;) – rpfc