【发布时间】:2015-05-14 21:52:53
【问题描述】:
这是一个带有 Visual Studio 2013 的 ASP.Net Web 应用程序。该解决方案由多个项目组成。我在一个具有using System.Transactions 的库项目中有代码,它运行了几个月。
今天我在 Web 应用项目的代码中添加了相同的 using System.Transactions,但它失败并显示以下错误消息:
The type or namespace name 'Transactions' does not exist in the namespace 'System'
以下是我尝试过的一些事情:
- 添加了对
System.Transactions的引用。 - 已验证两个项目中引用的 dll 文件是否相同。
- 将框架从 4 更改为 4.5 并返回。
- 已验证所有项目都使用相同的框架版本。
- 清理并重建了解决方案。
- 退出 Visual Studio,删除 AppData>Local>Temp 中的所有文件,重新构建。
- 重启电脑。
因此,结果是 using System.Transactions 在一个项目中运行良好,但在另一个项目中运行良好,即使两个项目都在同一个解决方案中。
有什么建议吗?
编辑:这是一个奇怪的地方,可能没有任何额外的帮助,但这里是:
- 当我构建项目时,没有错误。也就是说,
using System.Transactions编译得很好。 - 如果我运行应用程序,它会爆炸并且错误出现在浏览器窗口中。 VS 代码窗口仍然没有显示任何错误。
- 如果我编辑
using System.Transactions或添加var x = System...之类的代码,错误会立即出现在using System.Transactions中。
** 编辑:** 这个问题被标记为重复。不是——建议的副本通过浏览参考解决了这个问题。我已经尝试过了,但没有帮助。就我而言,我不得不使用“复制本地”选项。
【问题讨论】:
-
两个项目是否针对同一个平台?这可能是一个长镜头,但也许 x64 项目正在尝试引用 x86 程序集,反之亦然。通常,当我遇到类似的事情时,您采取的步骤会解决问题。
-
好问题。我检查了解决方案中的所有项目,所有项目都针对“任何 CPU”。并且引用都指向 x86 DLL。
-
出于好奇,如果您将 Web 应用项目的构建输出显式更改为 x86,会发生什么?引用在 Visual Studio 的项目中是否出现损坏?构建时输出窗口中是否有任何有用的错误消息?
-
VS 在引用库时有时会出现一些非常严重的问题。我自己也遇到过一个花了很多时间来解决的问题。尝试一些愚蠢的小事情,例如完全删除引用并将其添加回来。这就像踢一个口香糖机让它分配,你只需要正确地踢它:-)
-
@Colin - 我在“输出”窗口(已打开诊断级别)中没有发现任何与其他参考资料不同的内容。另外,我正在编辑原始帖子以获取更多信息,这真的很奇怪。
标签: c# asp.net .net visual-studio-2013 transactions