gpt4 book ai didi

c# - Blend 不调用 DesignTimeBootstrapper

转载 作者:太空狗 更新时间:2023-10-29 23:32:36 27 4
gpt4 key购买 nike

我需要 Blend 4 调用一些初始化代码,然后它才能合理地显示我的应用程序,我正在使用 this approach由 Josh Smith 完成。

我正在使用以下项目结构:

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

ViewsAssembly
-- Lots of user controls

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

我做错了什么,或者有其他方法吗?

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

最佳答案

您能否验证在不执行启动的重建后您是否真的更改了主应用程序的程序集二进制文件? (如果二进制文件没有改变,我希望 Blend 不会评估反射)。我还会尝试使用 solution clean 而不是 rebuld。

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

附带说明一下,我对 VS XAML UI Designer 进程 (xDesProc) 的体验表明,它并不总能捕捉到我在重新构建后所做的更改,我必须使用任务管理器终止它以强制重新加载,sme 可能会发生与混合。

关于c# - Blend 不调用 DesignTimeBootstrapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15088016/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com