2012-05-15 196 views
6

我将突然启动一个特殊的错误消息(我是一个初学者,使用C#在ASP.NET中构建网站,发现错误的文件是.ascx =用户控制文件) :编译器错误消息:CS0433

编译器错误信息:CS0433:类型 '链接' 在这两个 存在 '... \临时ASP.NET文件\ ROOT \ 901650e7 \ 5e27d040 \ App_Code.ybv-vo7n.dll' 和 ” .. 。\ Temporary ASP.NET Files \ root \ 901650e7 \ 5e27d040 \ assembly \ dl3 \ f6cf02ac \ a93eed1d_ab32cd01 \ Project1C.DLL'

第10行很明显是错误源于(红色)。你能指出几点吗?我无法知道从哪里开始寻找/修复。谢谢!

Line 9:<ItemTemplate> 
Line 10:<asp:HyperLink ID="HyperLink1" runat="server" 
Line 11:NavigateUrl='<%# Link.ToFilms(Eval("FilmsID").ToString()) %>' 
Line 12:Text='<%# HttpUtility.HtmlEncode(Eval("Nume").ToString()) %>' 
+0

检查项目是否未引用自己 – Fabske

+0

如何检查? –

+0

只要检查项目/引用,如果你看到它引用它自己,即项目生成的dll的链接 – Fabske

回答

3

您将有类似于以下路径:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 

删除这整个文件夹(没有伤害会做)的内容,然后尝试与清洁和重建您的解决方案。

0

我有一个非常类似的问题与ASP WCF服务和Visual Studio 2010和新的测试版。对我来说,如果我编辑服务代码文件(app_code),将会有所帮助。添加新行足以强制VS重建页面。比这个“随机”错误消失。

+0

谢谢Barry和Ondra,我尝试了两个建议,但他们不能工作。也许有其他解决方案吗?两个文件中都存在“链接”类型......这还意味着什么? –

+0

从你的代码看来,你已经创建了一个名为“Link”的类,可能是一些链接助手。我相信还有另一个来自.NET框架(Link ASP控件)的Link类。尝试将链接重命名为其他内容(MyLink,...) – Ondra

+0

我也尝试过,在您的建议之后,我用“MyLink”替换了Link类名,但仍然出现相同的错误。我可能尝试了一个非常复杂的新手,所以现在我正在扭动并努力修复。 **感谢迄今和任何新的建议。** –

8

我知道答案有点迟,但可能对别人有所帮助。

问题: 曾与这种情况类似的问题:

  • VS2010 WebAppProject(不WebSiteProject)
  • 在App_Code文件有一些孤立类(与地产[生成操作]设置为[编译] )
  • 构建成功,但在浏览器中加载Web应用程序时,会引发编译错误CS0433:'c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319'中存在类型'Namespace.Classname' \ Temporary ASP.NET Files \ root \ 7e10b43d \ 77c16432 \ App_Code.itpfsoon.dll'和'c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 7e10b43d \ 77c16432 \ assembly \ DL3 \ 2055583c \ 0bc450de_1589ce01 \ WebAppName .DLL”

解决方案: 穿戴分离类需要属性[生成操作]设定为[编译]以来App_Code文件夹比其他App_Code文件的任何文件夹将是编译为一个单独的程序集,具有在两个程序集(App_CodeWebApp,其中包括来自App_Code本身的所有代码)中编译的相同类。

参考: http://vishaljoshi.blogspot.com/2009/07/appcode-folder-doesnt-work-with-web.html

+0

非常感谢你 - – Adam

2

语境:我与ASP使用的DevExpress和Visual Studio 2012年一个非常类似的问题这个问题是我们在服务器\ bin文件夹不清除出去,所以有是DevExpress的两个版本v10.1和v8.3的dll。

解决方案:我刚刚删除了不正确版本的dll文件,它的工作原理。另一种方法(更好)是删除该目录中的所有文件,并将整个文件夹和文件放入新的明确出版物。

1

右键单击解决方案资源管理器中的应用程序名称并将其转换为Web应用程序。

+0

这么简单和有效!谢谢! – Melanie