【问题标题】:How do you add a c# form file set as link in Visual studio?如何在 Visual Studio 中添加一个 c# 表单文件集作为链接?
【发布时间】:2018-07-18 13:55:21
【问题描述】:

在 C# 中,当您创建一个表单时,会创建一组三个似乎很重要的文件:

  • form1.cs
  • form1.resx
  • form1.designer.cs

我需要将表单添加为文件的链接,以便将解决方案和源代码分开存储。我已经移动了这些创建的文件并将它们添加为链接,如这个问题所示:

Add File as a Link on Visual Studio - Debug vs Publish

但随后文件不再链接在一起,因此已创建的 GUI 丢失(显示空白表单而不是添加的内容)。我尝试通过将 csproj 编辑为 described in this answer 来强制将它们链接在一起。我在每个 resx 和设计器文件中添加了 DependentUpon 标签:

  <Compile Include="Path\To\Form1.Designer.cs">
  <Link>Form1.Designer.cs</Link>
  <DependentUpon>Form1.cs</DependentUpon>
</Compile>

但这只会使 Visual Studio 崩溃。

我知道您可以手动链接它们,方法是从文件资源管理器拖动到解决方案资源管理器中列出的 Form1.cs 下的 Visual Studio。这将起作用,resx 和设计器将位于 form1.cs 下(并且 GUI 显示正确),但会将文件复制到项目目录(因为它没有作为链接添加)。

有可能实现吗?

【问题讨论】:

    标签: c# winforms visual-studio


    【解决方案1】:

    这里的关键是只将DependantUpon 标签添加到designer.cs 文件描述符中。不是 .resx 文件。

    1. 将文件移动到所需位置。
    2. 将 form1.cs 和 form1.resx 以及 form1.designer.cs 文件添加为项目的链接。
    3. 编辑 .csproj 文件并将 &lt;DependentUpon&gt;Form1.cs&lt;/DependentUpon&gt; 仅添加到设计器文件中。

    您最终会看到解决方案资源管理器在 form1.cs 文件之外显示 form1.resx 文件,但仍可以正确显示 GUI,并且解决方案将编译。

    【讨论】:

      【解决方案2】:

      添加窗体“作为链接”。

      【讨论】:

      • 是的,您显然没有阅读问题。它不是这样工作的。 GUI 元素消失了,它不会再正确构建了。
      • 我刚刚添加了一个表单作为链接。当我以一种形式进行更改时。它正在反射到其他地方。
      • 我有一个预先存在的表单,该表单上已经有 GUI 元素。当我将表单移动到新位置并将其添加为链接时,它不会显示 gui 元素,因为设计器文件未正确链接。即使您链接设计器文件,它仍然无法正常工作,因为 dependantupon 标记未正确设置。这一切都在问题中概述。
      猜你喜欢
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      相关资源
      最近更新 更多