Visual Studio项目,由Nuget .dll支持的本地.dll引用

时间:2016-06-14 23:36:18

标签: visual-studio visual-studio-2013 dll nuget

我正在研究多个Visual Studio .Net项目,他们都共享一个我正在同时开发的Nuget包。对于测试,我想直接引用我的Nuget项目生成的.dll(无需将其打包并在每个测试项目中安装)。

我想知道是否在某个Visual Studio项目中指示项目应该在某个路径中引用特定的.dll,但是回退到正确的Nuget包。

在大多数机器中,.dll路径不会存在,因此它们最终会使用Nuget包,但在我的机器上,这意味着我可以直接使用我的.dll的开发版本。

顺便说一下,我在这个例子中使用的是Visual Studio 2013,但我也有兴趣知道这是否可以在Visual Studio 2015项目中使用。

2 个答案:

答案 0 :(得分:0)

您可以使用msbulid条件检查某个文件是否存在: https://msdn.microsoft.com/en-us/library/7szfhaft.aspx

一些样本:

<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />

或者:

<Choose>
    <When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
      <ItemGroup>
        <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
      </ItemGroup>
    </When>
    <Otherwise>
      <ItemGroup>
        <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
      </ItemGroup>
    </Otherwise>
  </Choose>

答案 1 :(得分:0)

如果我正确解释您的问题,您应该只能添加对项目bin文件夹中生成的.dll的引用。 如果添加引用是您不熟悉的内容,我可以解释如何执行此操作。

添加参考:

- 右键单击​​解决方案资源管理器中的“引用”节点 - 点击右下角的“浏览...”。 - 导航到存储.dll文件的文件夹。

现在每次更改.dll并编译它时,这些更改都会自动反映在主机程序中。

相关问题