我正在尝试完成一些看起来应该非常简单的事情。我有一个状态机工作流控制台应用程序,其中包含一个工作流。我为它创建了一个自定义活动。此活动将永远不会在其他任何地方使用。我只想在我的工作流程中使用此活动,但是:
- 它不会出现在工具箱中。
 - 我无法将它从解决方案资源管理器拖到工作流设计器上。
 
我绝对不想创建一个单独的状态机工作流活动库,因为那只会让我的解决方案变得混乱。就像我说的,我永远不会在任何其他项目中使用这个活动,所以我想把它限制在这个活动中……但我就是不知道如何把它交给设计师!我要疯了吗!?
这是活动的代码:
public partial class GameSearchActivity: Activity
{
    public GameSearchActivity()
    {
        InitializeComponent();
    }
    public static DependencyProperty QueryProperty = System.Workflow.ComponentModel.DependencyProperty.Register("Query", typeof(string), typeof(GameSearchActivity));
    [Description("Query")]
    [Category("Dependency Properties")]
    [Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public string Query
    {
        get
        {
            return ((string)(base.GetValue(GameSearchActivity.QueryProperty)));
        }
        set
        {
            base.SetValue(GameSearchActivity.QueryProperty, value);
        }
    }
    public static DependencyProperty ResultsProperty = System.Workflow.ComponentModel.DependencyProperty.Register("Results", typeof(string), typeof(GameSearchActivity));
    [Description("Results")]
    [Category("Dependency Properties")]
    [Browsable(true)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public IEnumerable<Game_GamePlatform> Results
    {
        get
        {
            return ((IEnumerable<Game_GamePlatform>)(base.GetValue(GameSearchActivity.ResultsProperty)));
        }
        set
        {
            base.SetValue(GameSearchActivity.ResultsProperty, value);
        }
    }
    protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
    {
        IDataService ds = executionContext.GetService<IDataService>();
        Results = ds.SearchGames(Query);
        return ActivityExecutionStatus.Closed;
    }
}
谢谢。
编辑:
好的,所以我发现如果我将项目类型从控制台应用程序更改为类库,自定义活动就会出现在工具箱中。然而,这是不可接受的。它需要是控制台/Windows 应用程序。
有人知道解决这个问题的方法吗?