Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SharpDevelop-断开.aspx和.aspx.cs文件之间的链接_C#_Asp.net_Sharpdevelop - Fatal编程技术网

C# SharpDevelop-断开.aspx和.aspx.cs文件之间的链接

C# SharpDevelop-断开.aspx和.aspx.cs文件之间的链接,c#,asp.net,sharpdevelop,C#,Asp.net,Sharpdevelop,我刚刚开始使用SharpDevelop,我正在尝试将Visual Studio Express网站项目转换为SharpDevelop项目。我成功地创建了解决方案以及其中的项目。顺便说一下,这是一个C#ASP.NET webforms项目。只需简单的aspx页面,其中有C#codeinds和.asmxwebservice。没有什么特别的,事实上是非常老式的东西,在VisualStudio中工作得很好 我喜欢SharpDevelop环境,所以请不要回答“为什么不使用Visual Studio来代替”

我刚刚开始使用SharpDevelop,我正在尝试将Visual Studio Express网站项目转换为SharpDevelop项目。我成功地创建了解决方案以及其中的项目。顺便说一下,这是一个C#ASP.NET webforms项目。只需简单的
aspx
页面,其中有C#codeinds和
.asmx
webservice。没有什么特别的,事实上是非常老式的东西,在VisualStudio中工作得很好

我喜欢SharpDevelop环境,所以请不要回答“为什么不使用Visual Studio来代替”(我有理由)。但我的问题是:

SharpDevelop未将
.aspx
文件与其
.aspx.cs
对应文件链接。因此,解决方案资源管理器不再显示
MyPage.aspx
,而是将其展开以在其下查看
MyPage.aspx.cs
,而是将它们视为两个彼此相邻且不相关的不同文件

当我编译解决方案时,我得到了一个错误,因为代码隐藏无法将自己绑定到aspx页面,也无法识别控件名。(下面的示例来自我的Contact.aspx页面,但它发生在我拥有任何服务器端asp.net控件的每个页面上)

现在请记住,这在VisualStudio中从未发生过,因此我的SharpDevelop解决方案出现了一些问题。该错误发生在codebehind(.aspx.cs文件)中的任何位置,该文件涉及:

EmailComments.Text
我已经检查过的东西:

1)
@Page
指令正确,
继承的
名称与类名匹配

2) .cs和.aspx文件名和类名都匹配

3) .net framework版本是4.5(这有什么区别吗?)

4) 我已经尝试在codebehind中明确声明asp.net控件,是的,这可以防止错误,但是文件之间的链接仍然断开,为什么我必须在codebehind中声明控件?从未在VisualStudio中使用过,并且在那里工作得很好

实际上,我的整个解决方案中有一个文件没有这个问题(aspx和aspx.cs文件链接良好),这是
default.aspx
页面。这没有什么不同。我唯一能看到的是它是一个小写文件名,而其他文件名是大小写混合的。(这肯定不相关?)

我非常感谢任何熟悉SharpDevelop的人的帮助,或者如果这是一个更一般的.net问题,请告诉我。我觉得好像有一些基本的东西我忘记了,这将使这项工作

非常感谢你的帮助


更新:我通过以下操作成功链接了.aspx和.aspx.cs文件:将.aspx.cs文件拖放到解决方案资源管理器中的.aspx文件。对每对文件执行此操作。然后保存并关闭解决方案,然后重新打开,它们将保持链接。但是,由于codebehind无法识别其中提到的控件,因此错误仍然如上所述。

您可能有一个网站或“web应用程序”项目。两者之间的代码隐藏方式存在差异。最重要的是,您可能需要在页面指令中使用CodeBehind而不是CodeFile属性。看


希望这有帮助。

感谢您的快速回复HarpDevelop提供了两种C#解决方案:“ASP.Net网页”和“ASP.Net web服务”。我用的是第一个。我从你的回答中猜测,如果我进入这个根目录,我将不得不做一些调整,首先,我将不得不在页面指令中使用CodeBehind而不是CodeFile。(事实上,我现在正在使用代码文件)我不熟悉SharpDevelop,所以我是从一般ASP.NET的角度来看它的-ASP.NET支持两种类型的网站项目(网站和web应用程序),我不知道SharpDevelop使用哪一种。最简单的方法是查看SharpDevelop是否在项目文件夹中创建了ProjectName.csproj文件。
EmailComments.Text