同一WPF视图在两个.NET 10.0应用中WebBrowser控件警告差异问题
WPF WebBrowser加载本地HTML出现警告横幅的解决方法
针对你两个.NET 10 WPF应用表现不同的问题,核心差异应该是第一个应用配置了全局IE内核或安全相关设置,以下是第二个应用需要修改的配置项:
1. 配置WebBrowser的IE仿真模式
WPF WebBrowser默认使用旧版IE内核,高版本IE的安全策略更宽松,可避免本地文件警告。在第二个应用的App.config中添加:
<configuration> <runtime> <AppContextSwitchOverrides value="Switch.System.Windows.Controls.WebBrowser.UseShimWebBrowser=false"/> </runtime> <appSettings> <!-- 指定IE11 Edge模式,对应值11001;IE10用10001,IE9用9001 --> <add key="BrowserEmulation" value="11001"/> </appSettings> </configuration>
2. 禁用本地文件安全锁定特性
IE的FEATURE_LOCALMACHINE_LOCKDOWN会限制本地HTML的权限,可通过App.config禁用:
<configuration> <mshtml> <security> <feature-control> <feature name="FEATURE_LOCALMACHINE_LOCKDOWN" enabled="false"/> </feature-control> </security> </mshtml> </configuration>
3. 检查项目安全设置
打开第二个应用的项目属性,进入安全选项卡,取消勾选“启用ClickOnce安全设置”——该选项会触发本地资源的安全警告。
4. 验证资源复制属性
确认GIF文件的项目属性中,“复制到输出目录”设置为“如果较新则复制”,确保HTML能正确加载资源,避免因资源问题间接触发警告。
补充
你尝试的“Mark of the Web”无效,是因为应用级的IE配置优先级更高,上述方案均针对全局配置,与两个应用的差异点匹配。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

