1

我有一个自定义设计器 (WPF) 的 WF4 自定义活动。我希望 CacheMetaData 覆盖中的行为略有不同,具体取决于 Activity 是处于设计模式还是执行模式。

编辑:要求的原因。 我们有需要从 web.config 文件(或其包含之一)中查找数据的验证。在运行时我们可以使用 System.Configuration.ConfigurationManager,而在设计时我需要使用 EnvDte 来询问项目结构。

由于可以调试 Activity,因此在任何一种情况下它都可能是 VS,所以我无法检查。

WF4中是否有服务可以打电话告诉我我处于什么模式?

4

3 回答 3

1

据我所知,没有好的方法可以这样做。

您可以使用进程名称进行检查。如果它是 devenv,则您在 Visual Studio 中(如果您正在调试,它将是带有 .vshost 标记的项目名称。但由于可以重新托管设计器,这远非可靠。

于 2010-05-13T09:27:07.593 回答
1

您可以做的一件事是从您的运行时活动中实际拥有一个单独的设计时活动。这就是我正在做的事情。需要一些工作,并且可能会过度满足您的需求。查看此 WF论坛帖子了解更多详细信息。

于 2010-06-25T20:27:44.877 回答
0

如果这个要求的原因是纯粹的验证,你不能将需要 EnvDTE 的验证逻辑移到设计器组件中,只在活动本身中留下运行时验证逻辑吗?

于 2010-08-04T23:40:03.530 回答