加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Blend不会调用DesignTimeBootstrapper

发布时间:2020-12-15 05:38:10 所属栏目:百科 来源:网络整理
导读:我需要Blend 4来调用一些初始化代码才能合理地显示我的应用程序,而我正在使用Josh Smith的 this approach来完成它. 我使用以下项目结构: MainProgram -- Properties -- AssemblyInfo.cs (including the custom attribute) -- App.xaml -- HostWindow.xaml (
我需要Blend 4来调用一些初始化代码才能合理地显示我的应用程序,而我正在使用Josh Smith的 this approach来完成它.

我使用以下项目结构:

MainProgram
  -- Properties
     -- AssemblyInfo.cs (including the custom attribute)
  -- App.xaml
  -- HostWindow.xaml    (UserControls are embedded here)
  -- DesignTimeBootstrapperAttribute.cs

ViewsAssembly
  -- Lots of user controls

出于某种原因,每次构建后都不会调用设计时引导程序(导致我的自定义标记扩展在Blend中抛出异常和大量错误消息).然而,在最初加载解决方案时调用它,我不理解Blend在这里的行为方式.

我做错了什么,还是有另一种方法?

编辑:
我注意到,完成重建确实每次调用Bootstrapper.也许这可以作为一种解决方法,但我仍然想了解它.

解决方法

你能验证一下,在没有执行启动的重建之后,你确实已经更改了主应用程序的程序集二进制文件吗? (如果二进制文件没有改变,我希望Blend不要评估反射).我也尝试解决方案清洁而不是重生.

作为一种繁重的解决方法,您可以考虑在构建后事件中更改解决方案/项目文件(例如,添加空间),这将导致Blend重新加载解决方案并再次执行自定义启动代码.

作为旁注,我对VS XAML UI Designer进程(xDesProc)的体验表明,它并不总是捕获我在重新构建后所做的更改,我必须使用任务管理器来强制重新加载,使用混合可能会发生.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读