类型或命名空间名称'交易'命名空间中不存在'系统'

时间:2015-05-14 21:52:54

标签: c# asp.net .net visual-studio-2013 transactions

这是在ASP.Net Web应用程序中,使用Visual Studio 2013.该解决方案由多个项目组成。我在具有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,rebuilt。
  • 重新启动电脑。

因此,结果是using System.Transactions在一个项目中工作得很好,但在另一个项目中却没有,即使两个项目都在同一个解决方案中。

有什么建议吗?

编辑:这里有一个奇怪的可能是没有任何额外的帮助,但是这里有:

  • 当我构建项目时,没有错误。也就是说,using System.Transactions编译得很好。
  • 如果我运行应用程序,它会弹出炸弹并且错误会出现在浏览器窗口中。 VS代码窗口仍然没有显示错误。
  • 如果我修改using System.Transactions或添加var x = System...等代码,则错误会立即显示在using System.Transactions

**编辑:**此问题被标记为重复。它不是 - 建议的副本通过浏览参考来解决问题。我已经尝试过了,但它并没有帮助。在我的情况下,我不得不使用"复制本地"选项。

2 个答案:

答案 0 :(得分:1)

请参阅此Answer By Mark Hall

  

这有一个Microsoft Connect entry posted。有一条评论表明您可以浏览它。给出的路径是:

     

C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5 \ System.Transactions.dll

只需浏览此路径即可添加引用

如果这不起作用,请转到参考文献 - > System.Transactions并确保此引用的属性“Copy Local”设置为True。

答案 1 :(得分:1)

通常,System.Transactions不属于您的引用,请尝试通过以下方式将其添加到引用中:

如果您正在使用Web应用程序,请右键单击您的引用;如果您使用的是Web站点,则单击您的项目。 在.NET引用中找到System.Transactions。 您应该在参考文献中找到System.Transactions。