【问题标题】:Is it possible to make Visual Studio use *only* the HintPath for a given Reference是否可以让 Visual Studio *仅* *使用给定参考的 HintPath
【发布时间】:2018-06-21 10:23:09
【问题描述】:

假设有多个旧项目,每个项目都包含对给定 dll 的引用,如下所示:

<Reference Include="nunit.framework">
  <HintPath>..\lib\nunit.framework.dll</HintPath>
</Reference>

现在,我已更新为使用 nuget,一些 项目使用新的参考,如下所示:

<Reference Include="nunit.framework">
  <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
</Reference>

..\lib\ 中的旧 dll 已被删除,我 预计 Visual Studio 无法构建我忘记更新的所有项目。可悲的是 VS 没有...而是针对在我的机器上找到的一些晦涩的 dll 版本构建的。somewhere..

如果HintPath 上不存在给定的Reference,我可以让VS(或msbuild)失败吗?

【问题讨论】:

    标签: c# visual-studio


    【解决方案1】:

    对标题的简单回答 - 不。这是一条提示路径,VS 总是会在多个位置搜索引用。但是,如果文件不存在,您肯定会导致构建失败 - 例如this question 中的回答(尽管条件需要不存在而不是存在)。

    这实际上是一个巨大的痛苦 - 作为 Visual Studio 扩展的开发人员,我发现围绕 HintPath 解析的行为会导致我经常出现问题。

    【讨论】:

      猜你喜欢
      • 2016-12-13
      • 2012-11-09
      • 2010-12-25
      • 2010-09-28
      • 1970-01-01
      • 2020-03-30
      • 1970-01-01
      • 2018-01-16
      • 2010-10-02
      相关资源
      最近更新 更多