私はCSLAフォーラムで初めてasked for helpを取得しましたが、まだ解決できませんでした。私は経験している問題を示すtest VS2015 solutionを作成しました。CSLAでのOffice 2013/2016 VSTOアドイン
Outlook、Word、Excel、PowerPointでCSLA 4.6.603を使用しています。 Csla.ApplicationContext.User
を設定した後、Form
またはを表示するか、XMLを読むときにSerializationException
がスローされます。 dataSet.ReadXml(tempFileName, XmlReadMode.InferSchema);
私はAppDomain.CurrentDomain.AssemblyResolve
を処理しています経由でXMLを読み込むしようとしたときと同じSerializationException
をスロー別の例がある試験溶液で
private void MessageThrows(object sender, EventArgs e)
{
// This message displays correctly
MessageBox.Show("About to set user to UnauthenticatedPrincipal. " +
"Check Debug Output to see exception.",
"Before UnauthenticatedPrincipal");
// The user is set correctly with no exception
Csla.ApplicationContext.User = new Csla.Security.UnauthenticatedPrincipal();
try
{
// The following message throws:
// System.Runtime.Serialization.SerializationException:
// Type is not resolved for member 'Csla.Security.UnauthenticatedPrincipal,Csla,
// Version =4.6.603.0,
// Culture =neutral,
// PublicKeyToken =93be5fdc093e4c30'.
MessageBox.Show("The user has been set to UnauthenticatedPrincipal.",
"After UnauthenticatedPrincipal");
}
catch (Exception ex)
{
Debug.WriteLine(ex);
}
}
:
問題の最も簡単な例は以下のとおりです。イベント、およびCSLAは、例外がスローされる直前にAppDomain.CurrentDomain.GetAssemblies()
にリストされています。
テストソリューションには、非常に基本的なカスタムID、生成されたXMLファイルから読み取る基本ビジネスオブジェクト、および3つのボタンを持つフォームがあります。
WindowsUIプロジェクトをStartUpプロジェクトとして設定して実行すると、メインフォームの各ボタンが成功し、例外はスローされません。
WordAddInプロジェクトをStartUpプロジェクトとして設定して実行します。 Wordが起動し、同じフォームがアドインの読み込み時に表示されます。最初のボタンは成功しますが、次の2つのボタンは例外をスローします。詳細については、デバッグ出力を参照するか、ブレークポイントを設定してください。 OutlookAddInプロジェクトについても同様です。
他の人がCSLAフォーラムのスレッドで先に指摘したように、これは.NETがアセンブリの解決に失敗したことに起因するか、関連しています。 AssemblyResolve
イベントが答えかもしれない、私はそれを把握することができませんでした。
ご協力いただければ幸いです。