두 개의 개별 공급자에서 어셈블리의 피쳐를 intergrate 할 것으로 예상되는 웹 응용 프로그램이 있습니다. 어셈블리의 한 세트 (Set1)는 .NET 2.0에서 빌드되고 다른 어셈블리 (Set2) 어셈블리에서는 절대적으로에는 .NET 3.5가 필요합니다. Set2 어셈블리가 작동하려면 web.config에 (system.codedom) 섹션을 추가하고 v3.5 컴파일러를 지정해야합니다. 그러나 Set1 어셈블리를 참조하는 코드가 중단되는 것 같습니다 (JIT 컴파일러는 영원히 걸리고 요청 시간이 오래 걸립니다). system.codedom 섹션을 제거하면 Set2를 참조하는 응용 프로그램의 일부 기능이 실패합니다.나란히 2.0/3.5 어셈블리
우리는 .NET 2.0과 3.5가 아무런 문제없이 공존 할 수 있다는 지식으로이 프로젝트를 시작했습니다. 이 두 세트의 어셈블리를 멋지게 연출할 수있는 방법이 있습니까?
편집 : 다음은 system.codedom 섹션의 모양입니다.
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
</compilers>
.Net 3.5에서 Set1을 다시 컴파일 할 수 있습니까? –
소스가 없습니다. –
한 응용 프로그램이 2.0으로 실행되고 다른 응용 프로그램이 3.5로 실행되는 한 .NET 2.0과 3.5는 공존 할 수 있으므로 두 개의 런타임이로드됩니다. 하나의 응용 프로그램 (프로세스) 내에서 하나의 버전 만 사용할 수 있습니다. –