Visual Studio 2012。
我注意将一些常见文件从一个项目移动到另一个项目。 我记得在VS2008下它工作得很好..所以设计师和那个案例背后的代码正确地在项目树中分组。 但在2012年,它的工作有误......请参阅图片。 黑框是他正确的项目文件内创建的分组文件。
红色 - 移动和导入。 你可以看到三角形(树状结)2红色和1黑色。 设计师和代码背后......但对于他们两个应该是一个结。 这很糟糕,因为我无法在构造函数中加载布局。 怎么治疗这个?请问,任何想法?
答案 0 :(得分:1)
有时Visual Studio
无法自行解决依赖关系。
解决此问题的一种解决方法是打开csproj
文件,并在DependentUpon
和designer.cs
(resource
)个文件中添加.resx
Control
和Compile
中的EmbeddedResource
。
以下是一个示例,假设您的Control
名称为Form1
且为Form
。当依赖项错误且项目未打结时,您会看到:
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs" />
<EmbeddedResource Include="Form1.resx" />
将其更改为:
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
Visual Studio将正确显示您的Control
依赖关系。
按Vitali Petrov:有一件事我想强调其他人 - 在DependentUpon
代码中,应跳过filename
中的目录名称。
<Compile Include="Panels\DataPanel.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Panels\DataPanel.designer.cs">
<DependentUpon>DataPanel.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="Panels\DataPanel.resx">
<DependentUpon>DataPanel.cs</DependentUpon>
</EmbeddedResource>
&#13;