类型或命名空间名称'在命名空间'System'中不存在

本文关键字:命名空间 System 不存在 类型 | 更新日期: 2023-09-27 17:49:02

这是一个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中的所有文件,重新构建。
  • 重启电脑。

因此,结果是using System.Transactions在一个项目中工作良好,而不是另一个项目,即使两个项目都在相同的解决方案中。

有什么建议吗?

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

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

**编辑:**这个问题被标记为重复。它不是——提议的副本通过浏览参考文献解决了这个问题。我已经试过了,但没有用。在我的例子中,我必须使用"copy local"选项

类型或命名空间名称'在命名空间'System'中不存在

参考Mark Hall的回答

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

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

只需通过浏览添加引用到此路径

如果这不起作用,请转到参考资料->系统。事务,并确保在此引用的属性上"Copy local";

通常是System。Transactions不是你的引用的一部分,试着在引用中添加:

右键单击你的参考文献,如果你正在使用Web应用程序或在你的项目,如果你正在使用Web站点。找到系统。. net引用中的事务。你应该找到系统。

相关文章: