2016-08-22 8 views
0

この問題は、スタックオーバーフローここで ESB Toolkit and Enterprise Library collisionESBツールキットおよびIISのWeb.Configとエンタープライズライブラリの衝突

を上げ1と似ている私が提案し、解像度を試してみましたが、まだ動作するように自分のWebサービスを得ることができませんでした。

誰にもこれに対する回答がありますか、私には同様の問題があります。 Biztalk ESBがインストールされ、web.configが破損します。

これは私のweb.configファイルが

<configSections> 
    <section name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> 
    </configSections> 

    <enterpriseLibrary.ConfigurationSource selectedSource="EntLib File-based Configuration Source SomeThingElse"> 
    <sources> 
     <add name="EntLib File-based Configuration Source SomeThingElse" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" filePath="WebEntLib.config" /> 
    </sources> 
    <redirectSections> 
     <add sourceName="EntLib File-based Configuration Source SomeThingElse" name="loggingConfiguration" /> 
    </redirectSections> 
    </enterpriseLibrary.ConfigurationSource> 

のように見え、これは私のwebEntLib.configのように見えるものは何かということです。

<configSections> 
    <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> 
    </configSections> 
    <loggingConfiguration name="" tracingEnabled="true" defaultCategory="General"> 
    <listeners> 
     <add name="Rolling Flat File Trace Listener" 
      type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      footer="" formatter="Text Formatter" header="" rollInterval="Day" 
      rollSizeKB="1024" maxArchivedFiles="5" fileName="D:\Temp\logs\SomeThingElse\SomeThingElseTrace.log"/> 
    </listeners> 
    <formatters> 
     <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      template="{timestamp} - [{severity}] : {category} {eventid} - {message}" 
      name="Text Formatter" /> 
    </formatters> 
    <categorySources> 
     <add switchValue="All" name="General"> 
     <listeners> 
      <add name="Rolling Flat File Trace Listener" /> 
     </listeners> 
     </add> 
     <add switchValue="All" name="Debug"> 
     <listeners> 
      <add name="Rolling Flat File Trace Listener" /> 
     </listeners> 
     </add> 
    </categorySources> 
    <specialSources> 
     <allEvents switchValue="Off" name="All Events" /> 
     <notProcessed switchValue="Off" name="Unprocessed Category" /> 
     <errors switchValue="All" name="Logging Errors &amp; Warnings"> 
     <listeners> 
      <add name="Rolling Flat File Trace Listener" /> 
     </listeners> 
     </errors> 
    </specialSources> 
    </loggingConfiguration> 

さらに、web.configとwebEntLib.configの両方でリダイレクトすることをお勧めしました。

 <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Practices.EnterpriseLibrary.Common" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="4.1.0.0" newVersion="5.0.505.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Practices.EnterpriseLibrary.Logging" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="4.1.0.0" newVersion="5.0.505.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 

DLLリダイレクトに関するMicrosoftの記事は以下のリンク Redirecting Assembly Versions

である。しかし、それは動作するようですdosent。私は間違って何をしているのですか他に何ができますか?

専用のMicrosoft.Practices.EnterpriseLibrary.Common.dllとMicrosoft.Practices.EnterpriseLibrary.Logging.dllをWebサイトのbinフォルダに追加して、GACUTILを使用して登録していますGACには以下のバイナリがあります。

PS > .\gacutil -l Microsoft.Practices.E 
nterpriseLibrary.Common 
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

The Global Assembly Cache contains the following assemblies: 
    Microsoft.Practices.EnterpriseLibrary.Common, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, proce 
ssorArchitecture=MSIL 
    Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, pro 
cessorArchitecture=MSIL 

Number of items = 2 

PS > .\gacutil -l Microsoft.Practices. 
EnterpriseLibrary.Logging 
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

The Global Assembly Cache contains the following assemblies: 
    Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, proc 
essorArchitecture=MSIL 
    Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, pr 
ocessorArchitecture=MSIL 

Number of items = 2 

ネット上で見つかった参考資料の1つは以下のとおりですが、問題を解決する方法を教えてくれます。 ESB Toolkit 2.1 mess up Enterprise Library 5.0 big time

私はMicrosoftにフォローアップの質問を投稿しました。 ESB Toolkit 2.1 and Stand Alone Enterprise Library 5.0 Application Configuration Issue

+0

でアップ読んでいました。新しいスレッドはここにあります[ESBツールキットとエンタープライズライブラリのIIS Web.Configとの衝突](https://social.msdn.microsoft.com/Forums/en-US/01187602-8235-4b2e-8038-81b3f775c601/esb-toolkit –

+0

web.configの名前を他のものに変更すると、設定セクションエラーが発生することがありました。他のエラーが発生しました。 –

+0

を参照してください。詳細については、http://www.windowsfiles.jp/fairu/webconfig.htmlを参照してください。私のすべてのattempstのためのこのマイクロソフトのポストは、Webサービスを動作させるために、私はhttps://social.msdn.microsoftを動作させるようにしています。com/Forums/ja-JP/01187602-8235-4b2e-8038-81b3f775c601/esb-toolkit-and-enterprise-library-collision-with-iis-webconfig?forum = biztalkesb –

答えて

0

私はそれを解決しました。私は私の設定に以下の変更を加え、Webサービスが現在動作しています。私が間違っていたところ

 <configSections> 
    <section name="enterpriseLibrary.ConfigurationSource.SomeThingElse" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> 
    </configSections> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Practices.EnterpriseLibrary.Common" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="4.1.0.0" newVersion="5.0.505.0" /> 
     <publisherPolicy apply="no" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Practices.EnterpriseLibrary.Logging" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="4.1.0.0" newVersion="5.0.505.0" /> 
     <publisherPolicy apply="no" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 

    <enterpriseLibrary.ConfigurationSource selectedSource="Local Application Configuration Source"> 
    <sources> 
     <add name="Local Application Configuration Source" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" filePath="C:\inetpub\SomeThingElse\WebEntLib.config" /> 
    </sources> 
    <redirectSections> 
     <add sourceName="Local Application Configuration Source" name="loggingConfiguration" /> 
    </redirectSections> 
    </enterpriseLibrary.ConfigurationSource> 

リダイレクトは、私がSomeThingElseを削除した後、「enterpriseLibrary.ConfigurationSource.SomeThingElse」

に「enterpriseLibrary.ConfigurationSource」XMLタグの名前を変更することで、それは完全に今働いている働きました。私は、このソリューションに頼る前に

私はまた、古いスレッドがかなりの時間前に日付されているので、私はまた、Microsoftに新しいスレッドを調達している

Sharing Configuration Sections across Multiple Applications