0

皆様のご機嫌をお祈りします!Unityで私を助けてください。

私の App.config ファイルには以下が含まれています。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/>
  </configSections>
  <system.diagnostics>
    <sources>
      <source name="TraceTest" switchName="SourceSwitch"
        switchType="System.Diagnostics.SourceSwitch" >
        <listeners>
          <add name="console" />
          <remove name ="Default" />
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="SourceSwitch" value="All" />
    </switches>
    <sharedListeners>
      <add name="console"
        type="System.Diagnostics.ConsoleTraceListener"
        initializeData="false"/>
    </sharedListeners>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="console" />
      </listeners>
    </trace>
  </system.diagnostics>
  <unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
    <assembly name="ContextDownloader"/>
    <namespace name="ContextDownloader.Log"/>
    <namespace name="System.Diagnostics"/>
    <sectionExtension type="Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionConfigurationExtension, 
Microsoft.Practices.Unity.Interception.Configuration"/>
    <container>
      <extension type="Interception"/>
      <register type="ILogWorker" mapTo="FileLogWorker">
        <interceptor type="InterfaceInterceptor"/>
        <interceptionBehavior type="TraceBehavior"/>
      </register>
      <register type="TraceSource" name="interception">
        <constructor>
          <param name="name" type="System.String" value="TraceTest" />
        </constructor>
      </register>
      <register type="TraceBehavior">
        <constructor>
          <param name="source" dependencyName="interception" />
        </constructor>
      </register>
    </container>
  </unity>
</configuration>

コードで App.config から構成をロードします。

var fileMap = new ExeConfigurationFileMap { ExeConfigFilename = "App.config" };
Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
var unitySection = (UnityConfigurationSection)configuration.GetSection("unity");
var container = new UnityContainer();

したがって、例外がスローされます

未処理の例外: System.Configuration.ConfigurationErrorsException: unity の構成セクション ハンドラーの作成中にエラーが発生しました: 型名またはエイリアス Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionConfigu rationExtension, Microsoft.Practices.Unity.Interception.Configuration could not be解決しました。構成ファイルを確認して、このタイプ名を確認してください。

並んでいvar unitySection = (UnityConfigurationSection)configuration.GetSection("unity");ます。Microsoft.Practices.Unity.Interception.Configuration アセンブリを読み込むにはどうすればよいですか?

申し込みについて詳しく。コンソール アプリケーションとライブラリがあります。コンソール アプリケーションで 1 つのメソッドを呼び出すだけで、すべてのロジックがライブラリに含まれます。

この Microsoft.Practices.Unity.InterceptionExtension.Configuration.dll を出力ライブラリにコピーすることについてご回答いただきありがとうございます。system.diagnostic セクションもロードするのを手伝ってもらえますか?

4

1 に答える 1