Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以让Visual Studio对给定引用使用*仅*HintPath_C#_Visual Studio - Fatal编程技术网

C# 是否可以让Visual Studio对给定引用使用*仅*HintPath

C# 是否可以让Visual Studio对给定引用使用*仅*HintPath,c#,visual-studio,C#,Visual Studio,假设有多个较旧的项目,每个项目都包含对给定dll的引用,如下所示: <Reference Include="nunit.framework"> <HintPath>..\lib\nunit.framework.dll</HintPath> </Reference> ..\lib\nunit.framework.dll 现在,我已经更新为使用nuget,一些项目使用了新的refenrece,如下所示: <Reference Inclu

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

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

..\lib\nunit.framework.dll
现在,我已经更新为使用nuget,一些项目使用了新的refenrece,如下所示:

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

..\packages\NUnit.2.6.4\lib\NUnit.framework.dll
。\lib\
中较旧的dll已被删除,我希望Visual Studio无法生成我忘记更新的所有项目。可悲的是VS没有。。。相反,它是根据在我的机器上找到的某个模糊的dll版本构建的


如果给定的
引用
HintPath
上不存在,我是否可以使VS(或msbuild)使生成失败?

标题的简单答案-否。这是一个提示路径,VS将始终在多个位置搜索引用。但是,如果文件不存在,您肯定会导致生成失败—例如,如中所回答的(尽管条件需要是“不存在”,而不是“存在”)

这实际上是一个巨大的痛苦-作为一名Visual Studio扩展的开发人员,我发现HintPath分辨率的行为经常给我带来问题