.net 2.0通过绑定访问.net 40程序集

.net 2.0通过绑定访问.net 40程序集,.net,.net-4.0,.net,.net 4.0,我有.NET2.0应用程序(第三方)是Windows的应用程序(DLL)->未来计划迁移到.NET4.0 .net 2.0我的应用程序(web服务/asmx)与上面的windows应用程序(DLL)交互。这些DLL每2个月频繁更新一次,因此直接引用将不起作用,因此我的web服务在web配置文件中设置了绑定,下面是示例 <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

我有.NET2.0应用程序(第三方)是Windows的应用程序(DLL)->未来计划迁移到.NET4.0

.net 2.0我的应用程序(web服务/asmx)与上面的windows应用程序(DLL)交互。这些DLL每2个月频繁更新一次,因此直接引用将不起作用,因此我的web服务在web配置文件中设置了绑定,下面是示例

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="ABCProcesses" publicKeyToken="21f532fe36bf9cd6" culture="neutral" />
        <bindingRedirect oldVersion="1.0.0.0-65535.65535.65535.65535 " newVersion="3.128.20.0" />
        <codeBase version="3.128.20.0" href="file:///C:\Program Files\APPS\DLL\ABCProcesses.dll" />
      </dependentAssembly></runtime>

每次更改DLL版本时,我都必须用新的版本号更新配置文件

现在我的问题是


如果将上述.net 2.0 windows应用程序(第三方DLL)移动到.net 4.0 windows应用程序(DLL),这是否会影响我的net2.0 web服务访问DLL,或者我将被迫移动到.net 4.0 WCF?

您不能从2.0引用.net 4.0程序集,您还需要升级,或者希望供应商继续维护2.0版本。

根据此链接,非常感谢Paolo给出的直截了当的回答。如果net2.0程序集在相同的.net4.0 clr下运行,则可以访问.net4.0。这是否意味着我所要做的就是卸载VS2005、安装VS2010并按原样运行我的应用程序?是的,如果程序集在4.0下运行,这将正常工作。但是,您不能只安装VS2010。如果没有重新编译,您的exe/dll仍将在.Net 2.0中启动(如果它是入口点)-您需要将supportedRuntime选项添加到.exe.config文件或在4.0下重新编译。唯一的选项将是在4.0下重新编译并运行,但由于4.0向后兼容,它是否仍然支持webservice和wcf两者?重新编译wud是否意味着从webservice移动到WCF?您可以重新编译(是的,它向后兼容,所以不应该成为问题)。或者,您可以设置一个配置选项,告诉.NET在特定版本下运行(请参阅),但不能100%确定第二种方法是否有效,但理论上应该可以。