Setup&Deploymentプロジェクト内でカスタムアクションを呼び出して、アプリのapp.config内のいくつかのアイテムを更新しようとしています。私は通常の方法でカスタム設定セクションをまとめました。例:
[ConfigurationProperty("serviceProvider", IsRequired = true)]
public string ServiceProvider
{
get { return (string)base["serviceProvider"]; }
set { base["dataProviderFactory"] = value; }
}
base.Install(stateSaver)の直後のインストールのインストールセクションで呼び出されるカスタムアクションを設定しました。コードは次のとおりです。
string exePath = string.Format("{0} MyApp.exe", Context.Parameters["DP_TargetDir"]);
SysConfig.Configuration config = ConfigurationManager.OpenExeConfiguration(exePath);
Configuration. MyApp section = Configuration.MyApp)config.GetSection("MyApp");
これを実行すると、次のエラーが発生します。
System.Configuration.ConfigurationErrorsException:MyAppの構成セクションハンドラーの作成中にエラーが発生しました:ファイルまたはアセンブリを読み込めませんでした'MyCompany。MyApp.Configuration'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません。(C:\ Program Files \ MyCompany \ MyApp \ MyApp.exe.config line 5)---> System.IO.FileNotFoundException:ファイルまたはアセンブリ'MyCompany.MyApp.Configuration'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
構成の5行目は次のとおりです。
<section name="MyApp"
type="MyCompany.MyApp.Configuration.MyApp, MyCompany.MyApp.Configuration"
requirePermission="false" />
インストーラーコード(そのライブラリ内の唯一のクラス)を含むクラスライブラリには、構成アセンブリへの参照があります。
私がここで見逃していることは本当に明白なことですか?構成への参照が見つからない理由を理解できません。
どんな助け/提案も大歓迎です。