有没有办法编译一些特定形式的C#项目

时间:2014-11-25 09:10:29

标签: c#

我正在使用8种表单的Windows窗体应用程序,我希望有不同版本的已编译应用程序。例如:

演示版:我想要form1,form2,form4,form5
完整版:我想要form1,form3,form4,form6,form8

我该怎么做?

4 个答案:

答案 0 :(得分:2)

您可以通过编辑.csproj文件来实现单个项目。只需根据项目ItemGroup将表单移至具有Condition属性的单独Configuration元素:

<ItemGroup Condition=" '$(Configuration)' == 'Demo' ">
  <Compile Include="Form1.cs">
    <SubType>Form</SubType>
  </Compile>
  <Compile Include="Form1.Designer.cs">
    <DependentUpon>Form1.cs</DependentUpon>
  </Compile>
</ItemGroup>

<ItemGroup Condition=" '$(Configuration)' == 'Full' ">
  <Compile Include="Form2.cs">
    <SubType>Form</SubType>
  </Compile>
  <Compile Include="Form2.Designer.cs">
    <DependentUpon>Form2.cs</DependentUpon>
  </Compile>
</ItemGroup>

此外,要使这些条件有效,您还需要使用解决方案的配置管理器创建DemoFull配置。

答案 1 :(得分:1)

您可以将它们创建为不同的项目,但是为每个项目添加相同的代码文件:

  • 将现有文件添加到演示项目
  • 从完整版
  • 中选择表单文件
  • 添加为链接

enter image description here

答案 2 :(得分:0)

编译器标志。将表单移动到单独的程序集中并对其进行重新处理。将所有表单放在同一个程序中并让工厂选择正确的表单(再次基于许可证密钥或编译器标志列表)。

答案 3 :(得分:0)

如何使用CDKEY 00完整版11进行此演示,然后加密该密钥md5哈希,然后在注册表项中写入,当程序运行时,首先读取密钥样本if(cdkey == 11){//完整版}其他{// demo}。