gpt4 book ai didi

.net - 需要带有 的 .NET 4.0 完整配置文件

转载 作者:行者123 更新时间:2023-12-04 00:26:08 26 4
gpt4 key购买 nike

我们有一个支持 .NET 2.0 和 .NET 4.0 的应用程序,我们用 <bindingRedirect /> 切换了几个依赖于框架的程序集。 .我们使用了 <supportedRuntime />元素以允许应用程序使用最新的框架(如果可用)运行。但是,我们仍然需要完整的配置文件,而不仅仅是客户配置文件。

documentation for .NET 3.5表示您必须通过添加 sku="client" 明确选择加入仅客户端支持。归因于 <supportedRuntime />元素。

The sku attribute name is case-sensitive. If the sku attribute is missing, or if its value is set to anything other than "client", the runtime assumes the application is not a .NET Framework Client Profile application.



但是,在 .NET 4.0 中缺少有关 sku 属性的详细文档。在我们的测试中,即使缺少 sku 属性,.NET 运行时也会使用 .NET 4.0 客户端配置文件。这是一个问题,因为它不允许使用 .config 文件进行动态重定向。我试过使用 sku="full"尝试强制它仅使用完整配置文件,但这只会导致不支持 .NET 4.0 运行时。

问题

有谁知道在使用 <supportedRuntime /> 时强制使用完整的 .NET 配置文件的方法吗? (或其他类似的解决方案)以支持多个 .NET 框架版本?

来自我们的 .config 文件的片段
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0.30319" />
<supportedRuntime version="v2.0.50727" />
</startup>

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
appliesTo="v4.0.30319">

<dependentAssembly>
<assemblyIdentity name="Application"
publicKeyToken="798276055709c98a"
/>

<bindingRedirect oldVersion="4.1.2000.0"
newVersion="4.1.4000.0" />

<codeBase version="4.1.4000.0"
href="Redistributable\.NET 4.0\Application.dll" />

</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

最佳答案

我的理解是这会起作用:

<supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0.1" />
<supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0" />

没有 Profile=Full,但根据我的理解,Profile 旨在限制为较小的 SKU。

可以在以下位置找到已安装的 SKU 列表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs

关于.net - 需要带有 <supportedRuntime/> 的 .NET 4.0 完整配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739412/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com