.NET Framework 4完整版和.NET Framework 4客户端配置文件定位

5
我希望将我的 .net 应用程序定位到 .NetFramework 4(Client Profile),但后来我发现一个第三方控件使用 System.Design 来实现自定义控件。
现在我担心用户,因为大多数用户的系统上安装了 .Net Framework 4 Client Profile,而不是 .Net Framework 4 Full。用户是否会感到烦恼需要下载并安装完整框架?但仅有轻微的大小差异:客户端-41mb,完整版-48 mb。
大多数 .net 应用程序只需要客户端配置文件吗?另外,在 c# 中是否有使用客户端配置文件的 ControlDesigner 类的替代方法?
请帮帮我。

https://dev59.com/mHE85IYBdhLWcg3wejZO - Wim Ombelets
@Wimbo 感谢你提供的链接,我已经阅读了这个问题。但它并没有给出我想要的答案。 - techno
1
@Ramhound 谢谢。但是.NET Framework是否完全通过Windows更新交付,而不是客户端配置文件。 - techno
System.Design不在客户端配置文件中,所以...是的。 我想单独将System.Design.dll部署到客户机可能会起作用,但这样做比只是给他们完整的框架更容易,我想。 - Wim Ombelets
3
FYI. 从.NET 4.5开始,客户端和完整配置文件将不再存在。"自.NET Framework 4.5开始,已经停止支持客户端配置文件,只提供完整的可 redistributable 包。"(来源 - Steven
显示剩余6条评论
2个回答

2

您只需要选择完整的.NET 4框架作为目标框架。试图绕过这一步骤只会让您和用户都遭受惨重的后果。

这并不是个问题。您的安装项目需要确保用户机器上有正确的配置文件可用,如果她已经安装了客户端配置文件,.NET安装程序只会下载缺失的部分,而不是48兆字节的完整安装包。


0

你可以将 System.Design 的复制设置为 true 并随应用程序一起分发。

除此之外,他们必须安装它。除非第三方控件取消依赖性,否则没有其他方法。


将 System.Design 的复制设置为 true,并将其与您的应用程序一起分发。 - techno
你可以将System.Design引用添加到你的应用程序中,然后点击它,在属性中将Copy Local设置为true。这样编译时,DLL文件会被复制到你的应用程序目录中。当应用程序运行时,我忘记了它的顺序,但它会先检查应用程序目录,然后再检查GAC中的文件。因此,如果它首先在你的应用程序目录中找到该文件,则你的客户端机器就不需要它了。 - Adam
它无法编译还是出现了找不到程序集的错误? - Adam
引用 System.Design 时出现错误符号,显示程序集未找到。 - techno
你是否已经安装了完整的.NET框架?我想你应该已经安装了。或者你选择了正确的版本吗?有时候你可能会看到.NET 2.0和.NET 4.0版本。 - Adam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接