从编译中排除用户控件

本文关键字:用户 控件 排除 编译 | 更新日期: 2023-09-27 18:24:40

我想创建一个类库,其中包含我创建的所有应用程序的自定义样式(所以我只需要导入dll,然后应用所有样式)。出于设计目的,我希望在我的"主题"项目中有一个用户控件(这样我就可以对所有设计的控件进行可视化表示)。但是最后这个用户控件不应该编译并打包到dll中。

我已经尝试将构建操作设置为none,但在编译的g.I.cs文件中找不到方法(InitializeComponent())(很明显)。

但我该怎么防止呢?

所以基本上我的项目是这样的:

我的主题

  • MyThemePreview.xaml<-每个小部件定义一次的用户控件(已排除)
  • MyTheme.xam<-具有样式中所有样式的合并词典
  • 样式
    • 样式_按钮.xml
    • 样式选项卡控件.xaml

从编译中排除用户控件

  • BuildAction设置为None(无),就像您所做的那样
  • MyThemePreview.xaml.cs中,使用指令#if NONEXISTENT_CONSTANT .... #endif-如果没有#define NONEXISTENT_CONSTANT,则不会编译#if#endif之间的代码,设计器仍将工作。如果您想使用代码,只需定义该常量即可
  • 。。。或者,如果您从未以任何方式创建MyThemeReview对象,那么只需去掉MyThemePreview.xaml.cs中的所有代码即可。设计师仍然会工作

https://msdn.microsoft.com/library/4y6tbswk(v=vs.100).aspx

您还应该将代码隐藏文件MyThemeReview的Build Action设置为None

如果您希望再次编译此文件,则应将MyThemePreview.xamlBuild Action设置为Page,将MyThemePreview.cs设置为compile