【问题标题】:Add CUI references bug添加 CUI 引用错误
【发布时间】:2013-07-22 09:35:52
【问题描述】:

我有一个大问题。我需要使用 VS 2012 开发 CUI 测试。我需要使用“旧”(版本 10.0.0.0)CUI-dll,例如“Microsoft.Visual Studio.TestTool.UITesting”。 问题是,VS always 引用 11.0.0.0 版本。 但是 .csprj 文件确实有正确的条目,例如:

<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
  <ItemGroup>
    <Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
</When>

删除 11.0.0.0、清理解决方案并添加 10.0.0.0 版本无济于事。VS Studio 将始终添加 11.0.0.0 版本...

希望有人可以提供帮助:)

【问题讨论】:

    标签: dll visual-studio-2012 reference coded-ui-tests


    【解决方案1】:

    首先,如果 Visual Studio 版本为 10.0,.csprj 文件中的条件语句将仅使用版本 10.0.0.0 引用。

    您可以完全删除该部分并将引用强制为 10.0。这可能有效,也可能无效(VS 2012 试图对引用“聪明”并使用可用的最新版本)。

    您还可以更改 .csproj &lt;When&gt; 条件并删除对 VisualStudioVersion 的任何引用。同样,这可能会也可能不会。

    最后,在您的 app.config 中,您可以强制版本覆盖:

      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    

    当您尝试强制使用较旧的引用时,此方法也可能会失败。

    无论您尝试哪种方法,您都需要确保备份现有文件,以便在不小心损坏项目时恢复它们。

    您需要使用旧版本的原因是什么?通过迁移到这些 dll 的较新版本,您可能会有更好的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-20
      • 2019-06-22
      • 1970-01-01
      • 2014-11-08
      相关资源
      最近更新 更多