Visual Studio中的.designer文件未与.cs文件关联?

5

编辑:

在Visual Studio中似乎存在一个视觉上的错误。当我将我的网站文件夹作为网站打开并查看我的Views.ascx.designer.cs时,它没有显示关联。然而,如果我打开同一网站的解决方案文件,那么这些文件就会关联起来,一切正常。

仅仅为了明确,尽管它仍然显示以下错误消息,但它正在工作,我认为这是将其作为网站而不是解决方案打开的一个bug。


在我的现场网站上,我遇到了一个错误:

enter image description here

但是它应该存在,因为我在我的Views.ascx.designer.cs中有它:

enter image description here

但是在Visual Studio中,我的Views.ascx.designer.cs没有与我的View.ascx关联:

problem!

我试图将.designer文件拖放到View.ascx上,但它显示了此错误消息:

enter image description here

在我的开发服务器上,它工作得很好并且看起来完美:

enter image description here

我不确定如何使该文件与View.ascx或View.ascx.cs文件关联起来。


你能删除它并让它重新生成吗? - Shane Wealti
请参见https://dev59.com/y2Qo5IYBdhLWcg3wUN3Y。 - Bit
@ShaneWealti 我不确定。只需右键单击删除,然后重新构建即可吗? - user1184321
@Bit?我不想编辑它,只是希望它与我的文件相关联。 - user1184321
尝试完全删除设计文件(如果需要,可以在其他地方保存备份),然后右键单击您的项目并选择“转换为Web应用程序”。那应该可以解决问题。这种情况有时会发生。 - JW Lim
@JWLim 好的。当我将父文件夹作为网站打开并通过解决方案资源管理器导航时,它显示它们没有关联,但是当我直接打开解决方案时,它显示它们是关联的。你有什么想法吗?它仍然无法正常工作。 - user1184321
2个回答

9

第一步:右键单击文件并排除它们,然后尝试重新包含它们。这可能会自行修复。如果没有修复,您可以直接编辑项目;您只需要添加CSPROJ或VBPROJ所期望的依赖项。以下是一个示例,您需要确保在项目XML中:

<Compile Include="Views\Main.aspx.designer.vb">
  <DependentUpon>Main.aspx</DependentUpon>
</Compile>
<Compile Include="Views\Main.aspx.vb">
  <DependentUpon>Main.aspx</DependentUpon>
  <SubType>ASPXCodeBehind</SubType>
</Compile>

该代码已经存在于 csproj 文件中。 <Compile Include="View.ascx.cs"><DependentUpon>View.ascx</DependentUpon> <ExcludeFromStyleCop>True</ExcludeFromStyleCop> <SubType>ASPXCodeBehind</SubType> </Compile> <Compile Include="View.ascx.designer.cs"> <DependentUpon>View.ascx</DependentUpon> </Compile> - user1184321
1
有趣的是,有时候VS会出现这样的故障,我不得不删除文件并重新创建它。不幸的是,但通常这样做是有效的。 - Brian Mains
我曾经在一个“网站”项目中遇到过这种情况。这很容易重现。只需在新的Web应用程序项目中创建一个Web表单,使其正常工作,然后尝试复制aspx + cs文件并将其包含在新的“网站”项目中。我不得不在新项目中添加一个Web表单,并将内容复制粘贴到文件中以使其正常工作。 - mishal153
耶!我创建了一个COM可见的类,我添加了一个class.Designer.vb文件,添加了inherits UserControl,排除了文件并重新包含。现在它们已经链接起来了。(不是ASP而是VB Winforms)。谢谢! - Ivan Ferrer Villa

0

在将其他项目的表单添加到待处理项目时,我遇到了相同的问题。我先排除了这两个文件,然后通过先添加非设计师文件再添加.Designer.cs文件的方式将它们重新添加回来,这样.Designer.cs文件就会自动添加到与.cs文件相同的目录中(VS2012)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接