起動時に自分のWebサイトの構成を検証するプラグインdllをいくつか作成しています。これらのdllを/binフォルダーのサブディレクトリに配置したいと思います。そこで、これをweb.configファイルに追加しました。
<runtime>
<assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin/plugins" />
...
</runtime>
そして、いくつかのdllをビルドして/ bin/pluginsディレクトリにデプロイするプロジェクトがあります。
ビルド手順が正しいことを確認し、サブフォルダーを作成してdllをそこに配置します。
次に、application_startで、アセンブリをロードしようとします。現在実行中のアセンブリパスは次のようになります。
Dim assembly As Assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim asmDirectory As String = Path.GetDirectoryName(assembly.Location)
Dim pluginDirectory As String = Path.Combine(asmDirectory, "plugins")
pluginDirectoryは通常、次のように設定されます。
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\91be3168\7a998462\assembly\dl3\33ada1a0\6561a9fc_a4dacd01"
しかし、そのディレクトリには、プラグインディレクトリはありません。
IIS(私の場合はIIS 6.0)にサブフォルダーとコンテンツをコードディレクトリから実行場所にコピーさせるにはどうすればよいですか?
VB.NETが読みにくい場合は、C#に変換できます。