You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改web.config强制Dynamics AX 2009编译AIF服务为.NET 2.0.50727?

解决Dynamics AX 2009 AIF服务DLL编译版本问题

我来帮你搞定这个AIF服务生成DLL版本不符的问题——要强制生成.NET 2.0(版本号2.0.50727)的DLL,你只需要调整AIF Web服务对应的web.config文件里的几个关键配置项,具体操作如下:

1. 定位目标web.config文件

首先找到AX服务器上AIF Web服务的配置文件,默认路径一般是:
C:\Program Files\Microsoft Dynamics AX\50\Application Integration Framework\WebServices\web.config
如果你的AIF服务部署在自定义路径下,就找到对应目录里的web.config即可。

2. 强制指定CLR运行时版本

在<configuration>根节点下添加或修改<startup>节点,明确要求使用.NET 2.0的运行时:

<configuration>
  <!-- 其他已有配置保持不变 -->
  <startup>
    <supportedRuntime version="v2.0.50727"/>
    <requiredRuntime version="v2.0.50727" safemode="true"/>
  </startup>
</configuration>
  • supportedRuntime:声明应用支持的.NET运行时版本
  • requiredRuntime:强制要求使用指定版本,safemode="true"会阻止系统自动回退到更高版本的CLR

3. 设置编译目标框架

找到<system.web>节点下的<compilation>标签,添加或修改targetFramework属性为2.0:

<system.web>
  <compilation defaultLanguage="c#" debug="false" targetFramework="2.0">
    <!-- 原有的compilation子节点(如assemblies、buildProviders等)保持不变 -->
  </compilation>
  <!-- 其他system.web配置保持不变 -->
</system.web>

如果原来的<compilation>标签已经有targetFramework="4.0"之类的设置,直接改成2.0即可。

4. 生效配置并验证

  • 修改完成后,重启对应的IIS应用池(通常是名为DynamicsAXAIFWebServices的应用池),确保配置生效
  • 点击“Generate”按钮重新生成DLL,之后右键生成的DLL文件→属性→详细信息,查看版本号是否为2.0.50727开头

额外验证(可选)

如果你能访问AX客户端,可以进入System Administration > Setup > Services and Application Integration Framework > Inbound ports,找到对应的服务端口,检查“Advanced”选项卡中的.NET版本是否设置为2.0,这会和web.config的设置形成双重保障。

内容的提问来源于stack exchange,提问作者RT.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:03:46