2011-08-16 10 views
8

私は.Net4.0に.NET 2.0 dllをロードしたいと思っています。dllです。私は解決策を探し行なったし、私はこのURLのように、私はapp.configに追加することができます「useLegacyV2RuntimeActivationPolicy」属性が見つかりました:Mixed mode assembly is built against version 'v1.1.4322'.net4.0 dllで.net2.0 dllにアクセス

しかし、私にとっての問題は、私の場合、私が使用しようとしていますということです.net2.0 dll in my 4.0 DLLではなく、4.0 exeです。これは、4.0 DLLがオートメーションアドインとしてExcelで使用されるためです。

現在、Excelから.NET 4.0 API(機能用の2.0 DLLをロードする)にアクセスすると、「混合モード2.0 dllは4.0ランタイムでロードできません」というメッセージが表示されます。 4.0 CLRを使用しているため、2.0 DLLをロードできません。

何とか私は4.0ランタイムをロードするために4.0 DLLを作成する必要があります。私は4.0のdllにapp.configを追加しようとしましたが、私は推測すると、.exeはapp.configを読み込み、デフォルトでclrを読み込みます。 これは私のapp.config 4.0 dllのプロジェクトでは使用しています。私は.NET 2.0 DLLを使用するために私の.NET 4.0 DLLを有効にするには、この問題を解決するにはどうすればよい

<?xml version="1.0"?> 
<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
    <runtime> 
    <NetFx40_LegacySecurityPolicy enabled="true"/> 
    </runtime> 
</configuration> 

おかげで、 マニ

+1

通常のdllと同じように.net 2 dllを追加してみましたか? – Jethro

+0

.NET 2.0 DLLではないようです。.NET 1.1 DLLです。 –

+7

.configファイルは正常ですが、excel.exe.configである必要があり、excelが置かれているOfficeディレクトリにコピーされている必要があります。 –

答えて

4

は、答えはすでにハンスアンパッサンによって行われますが、彼はコメントとして掲載しています。したがって、ここで別々にこれに答える。

configはexcel.exe.configと呼ばれ、このシナリオが機能するにはexcel.exeと同じオフィスディレクトリにある必要があります。

関連する問題