代码之家  ›  专栏  ›  技术社区  ›  Scott

未为x86生成测试类

  •  0
  • Scott  · 技术社区  · 15 年前

    因此,我得到一个异常,我的测试项目无法打开SQLite程序集。但是这里是我编译时的输出:

    ------ Build started: Project: Budget, Configuration: Debug x86 ------
      Budget -> C:\Users\Scott\Desktop\Development\Budget\Budget\Budget\bin\Debug\Budget.exe
    ------ Build started: Project: Test, Configuration: Debug Any CPU ------
    c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Data.SQLite". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
      Test -> C:\Users\Scott\Desktop\Development\Budget\Budget\Test\bin\Debug\Test.dll
    ========== Build: 2 succeeded or up-to-date, 0 failed, 0 skipped ==========
    

    正如您所看到的,代码项目构建得很好(似乎是因为它设置为x86)。不过,我已经将这两个项目都设置为x86,并保存和重建了这两个项目,但它仍然没有说明正在为x86生成测试,因此我们看到的是Test的程序集警告,而不是另一个。我怎样才能让两者都为x86构建?

    -斯科特

    1 回复  |  直到 15 年前
        1
  •  1
  •   Hans Passant    15 年前

    当您导入在VS的早期版本中创建的项目时,将发生这种情况。它将导入该项目以进行配置调试| AnyCPU并释放| AnyCPU。向解决方案中添加新项目将创建其他配置:Debug | x86和Release | x86,这是VS2010的默认设置。现在你有四个。他们试图通过添加另一组解决方案,调试混合平台和发布混合平台。现在你有六个。

    用Build+Configuration Manager解决您的问题。从configuration=Debug,platform=x86开始。注意Platform列,选择具有任何CPU的项目。单击组合框箭头,新建并选择x86。 取消选中“创建新解决方案平台”复选框。勾选“构建”复选框。选择configuration=Release并重复该过程。

    把一切都放在正确的位置。通过在右上角的平台组合框中选择“编辑”并使用“删除”,可以删除bozo平台。哦,在开始之前做个备份。

    我认为这并不能真正解决您的问题,您应该删除SQLite程序集引用并将其添加回来。