【问题标题】:what I am missing on this machine when I got this warning?当我收到此警告时,我在这台机器上缺少什么?
【发布时间】:2010-01-21 08:17:59
【问题描述】:

本机只安装了 SDK 和 .Net3.5。没有安装VS2008。在此警告之后,

C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets:警告 MSB3245:无法解析此引用。找不到程序集“Microsoft.VisualStudio.QualityTools.UnitTestFramework,版本=9.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a,处理器架构=MSIL”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,则可能会出现编译错误。

我遇到了一些错误,但在另一台安装了 VS2008 的机器上没有看到:

TestDBHelper.cs(7,17):错误 CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“VisualStudio”(您是否缺少 装配参考?) TestDBHelper.cs(30,17):错误 CS0246:找不到类型或命名空间名称“TestContext”(您是否缺少 using 指令或 a 组装参考?) TestDBHelper.cs(36,16):错误 CS0246:找不到类型或命名空间名称“TestContext”(您是否缺少 using 指令或 a 组装参考?)

有什么想法吗?谢谢,

【问题讨论】:

  • 你在运行 msbuild 吗?看起来您的代码依赖于未安装在该计算机上的 Visual Studio。对于解决方案,安装 Visual Studio 或删除依赖项(即单元测试)

标签: .net


【解决方案1】:

看起来您正在执行构建。您的构建服务器应该安装了 Visual Studio 的副本。

在这种情况下,它引用了一些测试项目。所以,至少你需要有 MS Visual Studio Team System for Testers。我建议您继续安装 Team Suite 的副本,以便您拥有所需的一切。

如果你没有执行构建...

那么您很可能已将源代码复制到 Web 服务器。不要那样做。至少你的测试项目不应该被复制。但是,我会继续说不应该有源代码。而是在本地编译并使用工作室来部署/发布您的项目。

【讨论】:

    【解决方案2】:

    不要在您尝试部署的版本中包含您的单元测试。

    您必须在尝试分发的程序集上进行单元测试。通常,您会将它们放在不同的程序集中,即您的生产代码未引用的程序集。 (即,引用您的生产代码的是您的单元测试,而不是相反)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-16
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多