类型或命名空间名称'在命名空间'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
或添加var x = System...
之类的代码,错误立即出现在using System.Transactions
。
using System.Transactions
编译得很好。如果我运行应用程序,它爆炸,错误出现在浏览器窗口。VS code窗口仍然没有显示错误。**编辑:**这个问题被标记为重复。它不是——提议的副本通过浏览参考文献解决了这个问题。我已经试过了,但没有用。在我的例子中,我必须使用"copy local"选项
参考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引用中的事务。你应该找到系统。