更改目标框架ClickOnce部署

时间:2014-01-13 20:27:13

标签: .net frameworks clickonce

我有一个Windows实用工具,它针对Visual Studio中的.Net Framework 4.5,我使用ClickOnce发布它。因此,如果有人试图下载并运行该工具,它希望客户端的计算机在其计算机上安装4.5 Framework。但是,我不想强​​制所有客户端将其计算机升级到4.5,而是希望在发布工具时更改目标框架。那么有没有办法只更改部署目标框架,因为我不想更改VS项目。

我尝试更改配置文件以设置4.0框架,但是当我运行该工具时,它会显示签名不匹配错误。由于配置文件将在每次构建项目时进行修改,我认为我们应该以某种方式将目标框架设置为TFS构建项目本身的一部分。我当前的TFS Build.proj显示为

<MSBuild Projects="$(SolutionRoot)\Client\Windows\Utility Tool\Utility Tool.csproj"     
Targets="Build;Publish;Package"  
Properties="Configuration=Release;BuildEnvironment=.QA;WarningsNotAsErrors=618,168;
ApplicationVersion=$(CurrentAssemblyVersionText);
PublishURL=https://mycompany.com/myeut/"/>

1 个答案:

答案 0 :(得分:0)

IE9及更高版本的运气不佳。之前,Http请求在其层次结构的属性中进行.Net框架安装。但是IE9中的Microsoft标准化信息属于UserAgent [我认为]。因为IE不符合某些浏览器规则和其他浏览器的规则 - 他们没有包含这些信息。

你可以“尝试做”的是在FW 2.0中创建ClickOnce加载程序,它将运行,检查机器安装的框架。我甚至不确定这是否有效,因为您在ClickOnce部署中访问机器的权限非常有限,您在Internet沙箱中。但如果可行,您的Loader可以下载正确的应用程序缓存并启动应用程序。

信不信由你,我在这个项目上工作过,但在IE9之后,我们只将.Net框架的先决条件放入产品指南中。