Pet*_*orf 2 .net .net-client-profile
我有一个针对".NET Framework 4 Client Profile"的.NET Winform应用程序,它使用了另外四个类库程序集,但它们也都是针对客户端配置文件.
当我在安装了4.0 Client Profile的vanilla Windows XP盒子上测试时,我仍然得到'.NET Framework Initialization Error':
要运行此应用程序,首先必须在.NET框架上安装以下版本之一:.NETFramework,Version = v4.0
如何找出应用程序的哪个部分仍然需要完整框架的一个组件?
我假设通过将目标框架设置为"客户端配置文件",编译器将确保我只使用客户端配置文件的组件.
我再次浏览了所有程序集,以确保它们都针对客户端配置文件:是的.
然后我开始使用一个新的空WinForms应用程序,它按预期在客户端配置文件上运行.然后我将我在主应用程序中使用的程序集逐个添加到这个新应用程序中.即使在全部引用它们之后,新的应用程序仍然运行.
然后我查看了app.config,它有一些DbProviderFactories条目,但删除它们没有帮助.在那里,我看到了第一个节点:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
Run Code Online (Sandbox Code Playgroud)
嗯,也许特定的sku代表完整版.事实上,改变它
<startup>
<supportedRuntime version="v4.0" />
</startup>
Run Code Online (Sandbox Code Playgroud)
解决了我所有的问题.