- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
当我使用内部 Web 服务器(不是 IIS)从 Visual Studio 2008 SP1 运行 Web 应用程序时,我收到上述错误。
完整错误(源文件 Default.aspx.cs):
Compiler Error Message: CS0433: The type 'WebApplication3.Site1' exists in both 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\App_Web_site1.master.cdcab7d2.muczzy9v.dll' and 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\assembly\dl3\44c3a3cf\80dd34ed_6968ca01\WebApplication3.DLL'
前面的完整警告:
Warning: CS0436: The type 'WebApplication3._Default' in 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\App_Web_default.aspx.cdcab7d2._tlkwdos.0.cs' conflicts with the imported type 'WebApplication3._Default' in 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\assembly\dl3\44c3a3cf\e096e61c_6568ca01\WebApplication3.DLL'. Using the type defined in 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\App_Web_default.aspx.cdcab7d2._tlkwdos.0.cs'.
警告源指向一个中间文件App_Web_default.aspx.cdcab7d2._tlkwdos.0.cs:
Line 162:
Line 163: [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
Line 164: public class default_aspx : global::WebApplication3._Default, System.Web.IHttpHandler {
Line 165:
Line 166: private static bool @__initialized;
我的问题是:这是从哪里来的?
Web 应用程序(不是网站!)有一个 Default.aspx 和一个 Site1.Master,没有依赖项。它们几乎是空的,页面上有一个 asp:Label
。以前,这个 webapp 运行良好。当我删除 Default.aspx.cs 中对 master 的任何引用时,一切顺利。大师只有一些代码。
它实际上是许多小型的即发即弃测试网络应用程序之一,所以我一点也不在乎。但是我以前没见过这个,现在我很好奇除了将代码复制到一个新项目中之外该怎么做(清理解决方案没有帮助)。
注意:我读过this post和其他一些,它们不适用。
最佳答案
理论
当此问题不是由应用程序中的错误(例如,重复的类名)引起时:
在对应用程序的项目进行更改导致新构建(例如,代码/引用/资源更改)后,似乎会出现此问题。问题似乎出在这个新版本的输出中:由于各种原因,Visual Studio 没有替换应用程序的 obj/bin 文件夹的全部内容。这至少会导致应用程序的 bin 文件夹中的某些内容过时。
出现上述问题时,单独清除“Temporary ASP.NET Files”文件夹并不能解决问题。它不能解决问题,因为在下次访问您的应用程序时,您的应用程序的 bin 文件夹中的陈旧内容将被复制回“Temporary ASP.NET Files”文件夹,导致问题仍然存在。关键是删除所有现有文件并强制 Visual Studio 重建每个对象,以便下次访问您的应用程序时,新的 bin 文件将被复制到“Temporary ASP.NET Files”文件夹中。
解决方案
解释
关于c# - 错误 CS0433 "Type ' X' already exists in both A.dll and B.dll "来自哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1757289/
我是一名优秀的程序员,十分优秀!