나는 매우 간단해야하는 것처럼 보이는 것을 달성하려고 노력 중이다. 워크 플로우가있는 상태 머신 워크 플로우 콘솔 어플리케이션이 있습니다. 나는 그것에 대한 커스텀 액티비티를 생성했다. 이 활동은 결코 다른 곳에서 사용되지 않습니다. 내 워크 플로에서이 활동을 사용하고 싶지만,WF - 별도의 워크 플로 활동 라이브러리에서 사용자 지정 활동을 만들지 않고 어떻게 사용합니까?
- 도구 상자에는 나타나지 않습니다.
- 솔루션 탐색기에서 워크 플로 디자이너로 끌 수 없습니다.
내 솔루션이 혼란에 빠지기 때문에 별도의 상태 시스템 워크 플로 활동 라이브러리를 만들고 싶지는 않습니다. 제가 말했듯이, 저는 다른 프로젝트에서이 활동을 결코 사용하지 않을 것입니다. 그래서이 프로젝트를이 프로젝트에만 국한시키고 싶습니다 ...하지만 디자이너에게 가져갈 방법을 알 수는 없습니다! 나는 미쳐 가고있다!?
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;
}
}
감사 : 여기
는 활동에 대한 코드입니다.편집 :
OK, 그래서 내가 클래스 라이브러리에 콘솔 응용 프로그램에서 프로젝트 형식을 변경하는 경우, 사용자 정의 활동이 도구 상자에 표시되는 것을 발견했습니다. 그러나 이는 허용되지 않습니다. 콘솔/Windows 응용 프로그램이어야합니다.
누구든지이 문제를 해결할 방법을 알고 계십니까?