Abe*_*bel 77 c# asp.net master-pages
当我使用内部Web服务器(而不是IIS)从Visual Studio 2008 SP1运行Web应用程序时,我收到上述错误.
完整错误(源文件Default.aspx.cs):
编译器错误消息:CS0433:类型'WebApplication3.Site1'存在于'c:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\App_Web_site1.master.cdcab7d2中. muczzy9v.dll'和'c:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\assembly\dl3\44c3a3cf\80dd34ed_6968ca01\WebApplication3.DLL'
前面的完整警告:
警告:CS0436:'c:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\App_Web_default.aspx.cdcab7d2._tlkwdos.0中的类型'WebApplication3._Default'. cs'与'c:\ Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\aa563bcf\59deedc0\assembly\dl3\44c3a3cf\e096e61c_6568ca01\WebApplication3中的导入类型'WebApplication3._Default'发生冲突.DLL".使用'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;
Run Code Online (Sandbox Code Playgroud)
我的问题:这是从哪里来的?
webapp(不是网站!)有一个Default.aspx和一个Site1.Master,没有依赖项.它们几乎是空的,asp:Label页面上有一个.以前,这个webapp运行良好.当我将Default.aspx.cs中的任何引用删除到master时,一切顺利.主人只有一些代码.
它实际上是许多小小的"即发即弃"测试webapps中的一个,所以我不在乎.但我之前没有看过这个,现在我很好奇该做什么,然后将代码复制到一个新项目中(清洁解决方案没有帮助).
注意:我已阅读此帖和其他一些内容,但不适用.
2To*_*oad 111
理论
如果此问题不是由应用程序中的错误引起的(例如,重复的类名称):
在对应用程序的项目进行更改后会出现此问题,从而导致新的构建(例如,代码/引用/资源更改).该问题似乎存在于此新构建的输出中:由于各种原因,Visual Studio不会替换应用程序的obj/bin文件夹的全部内容.这导致应用程序的bin文件夹中至少有一些内容过期.
出现上述问题时,单独清除"Temporary ASP.NET Files"文件夹并不能解决问题.它无法解决问题,因为下次访问应用程序时,应用程序的bin文件夹的陈旧内容会被复制回"Temporary ASP.NET Files"文件夹,从而导致问题持续存在.关键是删除所有现有文件并强制Visual Studio重建每个对象,因此下次访问您的应用程序时,新的bin文件将被复制到"Temporary ASP.NET Files"文件夹中.
解
说明
Ale*_*sky 39
关闭w3svc并删除所有内容 c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\
添加
在Windows 7上
c:\Users\{username}\AppData\Local\Temp\Temporary ASP.NET Files\root\
在IIS服务器(64位)上也可能发生这种情况.寻找:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root
(如果您的服务器上的版本较新,请使用您正在使用的框架版本替换v4.0.30319)
小智 10
如果将.cs文件放在App_Code中并将其构建操作更改为在Web应用程序项目中编译,则可能会发生这种情况.
要么将App_Code中的.cs文件的构建操作作为内容,要么将App_Code的名称更改为其他内容.我更改了名称,因为intellisense不会修复标记为内容的.cs文件.
更多信息,请访问http://vishaljoshi.blogspot.se/2009/07/appcode-folder-doesnt-work-with-web.html
查看所有aspx页面和母版页的Inherits标记.有可能有两个具有相同名称的部分类.更改一个并重新编译.
这是一些更多信息:
http://blogs.msdn.com/b/carloc/archive/2007/06/12/compiler-error-message-cs0433-in-asp-net-2-0.aspx
在所有这些建议之后,我仍然遇到问题。App_Code 中的某个类被编译为两个 DLL。像这样(简化):
warning CS0436: The type 'HcmDbGeographyModelBinder' in
'<user_profile_dir>\AppData\Local\Temp\Temporary ASP.NET Files\temp\3b1ed8ee\11405e8e\App_Code.oqr0kusq.0.cs'
conflicts with the imported type 'HcmDbGeographyModelBinder' in
'<user_profile_dir>\AppData\Local\Temp\Temporary ASP.NET Files\temp\3b1ed8ee\11405e8e\assembly\dl3\ea0aa3ee\6022e6d5_2cc8cf01\HCM.Web.Backoffice.DLL'.
Run Code Online (Sandbox Code Playgroud)
我刚刚将“App_Code”文件夹重命名为“Code”。这是一个 MVC5 项目,因此在 Web 项目的根目录中提供 .cs 文件应该没有问题。
| 归档时间: |
|
| 查看次数: |
117101 次 |
| 最近记录: |