Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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
Visual studio 如何防止VisualStudio向我的单元测试项目添加引用?_Visual Studio_Visual Studio 2012 - Fatal编程技术网

Visual studio 如何防止VisualStudio向我的单元测试项目添加引用?

Visual studio 如何防止VisualStudio向我的单元测试项目添加引用?,visual-studio,visual-studio-2012,Visual Studio,Visual Studio 2012,在我的项目中,我有一个基于x86与x64构建配置的条件引用,当我通过右键单击类名并选择CreateUnitTests为对象生成单元测试时。。。Visual Studio 2012坚持为x86版本的dll添加对我的单元测试项目的引用。唯一的问题是,这个引用已经以与我的主项目相同的条件形式存在 大多数时候,我不知道这会发生,直到我去合并它到我们的UAT环境,以建立一个不同的配置。此时,由于UAT环境需要x64 dll,因此会中断 有没有办法解决这个bug特性 如果有任何区别,这里是条件引用: <

在我的项目中,我有一个基于x86与x64构建配置的条件引用,当我通过右键单击类名并选择CreateUnitTests为对象生成单元测试时。。。Visual Studio 2012坚持为x86版本的dll添加对我的单元测试项目的引用。唯一的问题是,这个引用已经以与我的主项目相同的条件形式存在

大多数时候,我不知道这会发生,直到我去合并它到我们的UAT环境,以建立一个不同的配置。此时,由于UAT环境需要x64 dll,因此会中断

有没有办法解决这个bug特性

如果有任何区别,这里是条件引用:

<Reference Include="ceTe.DynamicPDF.Printing" Condition="'$(Configuration)' == 'Debug' OR '$(Configuration)' == 'Release'">
  <HintPath>..\References\ceTe.DynamicPDF.Printing.40.x86.dll</HintPath>
</Reference>
<Reference Include="ceTe.DynamicPDF.Printing" Condition="'$(Configuration)' == 'Dev' OR '$(Configuration)' == 'Test' OR '$(Configuration)' == 'Production'">
  <HintPath>..\References\ceTe.DynamicPDF.Printing.40.x64.dll</HintPath>
</Reference>
这是Visual Studio试图添加的引用,大概是因为它无法协调条件引用是否等效:

<Reference Include="ceTe.DynamicPDF.Printing.40.x86, Version=1.0.1.15925, Culture=neutral, PublicKeyToken=09b5ce0d5c0a9d8b, processorArchitecture=x86">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\References\ceTe.DynamicPDF.Printing.40.x86.dll</HintPath>
</Reference>

提前感谢您的帮助。

我想出的解决方案是添加参考,如:

<Reference Include="ceTe.DynamicPDF.Printing.40.x86" Condition="'$(Configuration)' == 'Debug' OR '$(Configuration)' == 'Release'">
  <HintPath>..\References\ceTe.DynamicPDF.Printing.40.x86.dll</HintPath>
</Reference>
<Reference Include="ceTe.DynamicPDF.Printing.40.x64" Condition="'$(Configuration)' == 'Dev' OR '$(Configuration)' == 'Test' OR '$(Configuration)' == 'Production'">
  <HintPath>..\References\ceTe.DynamicPDF.Printing.40.x64.dll</HintPath>
</Reference>
我不是100%确定,但我相信这个方法有效的原因,或者更准确地说,它以前不起作用的原因是因为Include=匹配DLL的名称,所以在创建单元测试时,VisualStudio将其视为相同的引用,并且不再尝试添加它