命名空间"系统"中不存在类型或命名空间名称"事务"

San*_*ngs 10 .net c# asp.net transactions visual-studio-2013

这是在使用Visual Studio 2013的ASP.Net Web应用程序中.该解决方案由多个项目组成.我在一个库项目中有代码using System.Transactions,并且它已经运行了好几个月.

今天我using System.Transactions在Web应用程序项目的代码中添加了相同的代码,但它失败并显示以下错误消息:

The type or namespace name 'Transactions' does not exist in the namespace 'System'
Run Code Online (Sandbox Code Playgroud)

以下是我尝试过的一些事情:

  • 添加了对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.

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

Hus*_*lil 1

请参阅马克·霍尔的回答

为此发布了一个Microsoft Connect 条目。有评论建议你可以浏览一下。给出的路径是:

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

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

如果这不起作用,请转到引用 -> System.Transactions 并确保此引用的属性中的“复制本地”设置为 True。