2010-01-14 3 views
0

ironruby를 사용하여 app.config에서 v2.0.0.0에서 v3.5.0.0으로 리디렉션되어야하는 종속성이있는 어셈블리를로드하는 스크립트를 실행하고 있습니다 같은 :app.config 대신 코드에서 어셈블리 리디렉션

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> 
     <bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="3.5.0.0"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.CompactFramework.Build.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> 
     <bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="9.0.0.0"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Build.Engine" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> 
     <bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="3.5.0.0"/> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

스크립트는이 재 작동하지만 이것은 항상 아이언 루비의의 app.config을 변경하라고 요구하고,이 모든 스크립트에 적용됩니다.

  • 이 문제가 조립

방법을 필요로하기 전에 재 등록 코드를 실행하는 하나의 스크립트에 대한이 리디렉션 중 하나를 정의 난을 하나해야합니까?

답변

0

AppDomainAppDomainSetup.ConfigurationFile (특수 문자 : app.config)으로 설정 한 다음 해당 스크립트를 AppDomain에서 실행 해 봅니다.

1

configuration_settings_hackery.rb이라고 적힌 해킹을 사용하면 IronRuby app.config을 변경하지 않아도됩니다. 내 블로그에 read about it 수 있습니다. 블로그 게시물에는 github의 요지에 대한 링크가 있습니다.

나는이 해킹을 매일 사용하며 나는 그걸로 많은 성공을 거두었 다. 파일 configuration_settings_hackery.rb의 마지막 줄을 app.config의 위치로 변경해야합니다. 게시 한 버전은 c:\app.config입니다.

+0

아,이 모양이 "멋지다". 나는 주말에 그것을 시험 할 것이다 : –

+0

좋아, 더 조사에 나는 이것이 효과가 있을지 모른다. 이 값은 구성 값에 적용되지만 어셈블리 바인딩에는 해당되지 않습니다. 어셈블리 충돌을 해결하기 위해 이벤트에 연결해야 할 수도 있습니다. –

관련 문제