我最近一直在研究针对我正在构建的WPF应用程序的.NET客户端配置文件。但是,我很沮丧地注意到客户端配置文件仅对以下操作系统配置有效:
此外,客户端配置文件不对x64或ia64版本有效;如果已安装任何以前版本的.NET Framework ,也不会安装。
我想知道将额外的OS配置添加到测试矩阵中的努力是否值得付出努力。是否有可用的指标表明可能从客户端配置文件中受益的用户百分比?我相信,一旦安装了.NET Framework,额外的信息就会作为Web请求的一部分传递给Web服务器,表明框架可用。当然,我认为没有安装.NET Framework的Windows XP SP2用户会有很多人。这将是一个问题,我的申请是否专门针对这些人。
有没有其他人确定是否值得为这些特定用户定位额外的工作?
编辑:如果您使用客户端配置文件中未包含的功能,似乎可能会收到编译器警告。由于我通常将警告作为错误运行,因此希望能够最大限度地减少此配置中的测试。当然,此配置仍需要进行测试,但它应该像测试安装/初始一样简单运行适用于XP + SP2 +。
答案 0 :(得分:5)
最终,如果您定位客户端配置文件,它不会伤害任何用户。这是因为客户端配置文件是.net框架v3.5 sp1的子集,如果已安装v3.5 sp1,则无需安装任何内容。
客户端配置文件中的程序集与完整框架是相同的二进制文件,因此除非您动态加载程序集,否则您不需要进行任何其他测试。
我的想法是,除非您必须使用不在客户端配置文件中的程序集,否则您应该将其作为目标。
至于操作系统要求,WPF不会在XP之前的sp2上运行,所以如果你需要在其他操作系统上运行,那么你还是必须使用WinForms。
编辑:
在IE上,是的。它将.NET Framework版本作为UA字符串的一部分发送,例如:
实际上FF3 + 3.5sp1也是如此:
Mozilla / 5.0(Windows; U; Windows NT 6.0; en-US; rv:1.9.0.1)Gecko / 2008070208 Firefox / 3.0.1(.NET CLR 3.5.30729)
答案 1 :(得分:3)
我认为尽可能多地定位用户很重要,您是否考虑过在没有任何托管代码的情况下运送您的应用程序?您可以使用http://www.xenocode.com/或http://www.remotesoft.com/linker/等工具将托管应用程序转换为纯机器代码,这样您就不需要在客户端计算机上安装任何.NET框架。
答案 2 :(得分:2)
我相信一旦安装了.NET Framework,额外的信息就会作为Web请求的一部分传递给Web服务器,表明框架可用。
在IE上,是的。它将.NET Framework版本作为UA字符串的一部分发送,例如:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; .NET CLR 2.0.50727).