首页 > 解决方案 > 通过 NuGet 包将表单集成到 C# WinForms 项目中

问题描述

我正在为 WinForms 控件构建 NuGet 包,演示如何使用它。因此,在安装 NuGet 包时,我需要将一些示例表单添加到目标项目中。如果我的示例表单的名称是 Form2,并且我将它集成到默认的 C# WinForms 项目中,我会在解决方案资源管理器中得到以下结果:

通过 NuGet 将表单集成到 C# WinForms 项目中的问题

如您所见,Form2 未正确添加到目标项目中。实际上,如果我们查看 .csproj 文件,我们会发现 Form2 的代码部分的以下记录:

<Compile Include="Form2.cs">
    <SubType>Form</SubType>
</Compile>
<Compile Include="Form2.Designer.cs" />

, 而 Form2.Designer.cs 文件的正确记录应该是

<Compile Include="Form1.Designer.cs">
    <DependentUpon>Form1.cs</DependentUpon>
</Compile>

(Form2.resx 也有同样的问题)。

有趣的是,VB 表单从 NuGet 包集成到 VB 项目中没有任何问题,而且这个问题看起来像 C# 特定的 NuGet 问题。

有什么办法可以为 C# 解决这个问题吗?

标签: c#winformsnugetprojectnuget-package

解决方案


推荐阅读