asp.netカスタムプロファイルオブジェクトは、msbuild deploymentに変更した後に失敗します
-
24-10-2019 - |
質問
Web展開プロジェクトを介して展開されていたASP.NET 2.0 Webフォームアプリがあります。最近、TFS/MSBUILDによって構築された新しいバージョンを展開しましたが、その変更はカスタムプロファイルオブジェクトの脱必要な問題に問題を引き起こしたようです。
Web.configのプロフィール/プロパティセクションのエントリは次のとおりです。
<add name="MyKey" type="OurApp.UserData" serializeAs="Binary" />
これは、ビルドプロセスの結果として変更されず、App.UserDataの変更も変更されませんでした。
ただし、アプリが特定のユーザーのデータを読み取ろうとすると、何も見つかりません。
明らかな違いの1つは、Webデプロイメントバージョンでは、Webサイト用に単一のOurApp.DLLが作成されたのに対し、新しいバージョンは複数の「名前の付いた」アセンブリで構成されていることです。それにより、プロファイルは、ourapp.userdataタイプに保存されているプロパティの読み取りを見逃す可能性がありますか?
解決
実際、答えはアセンブリ名であることが判明しました。ビルドプロセスにASPNET_MERGEステップを追加し、古い名前のアセンブリを生成した後、すべてが順調でした。
これは、プロファイルのシリアル化ルーチンが完全に適格なクラス名をオブジェクトを表すバイナリデータに埋め込んだことを推定しています。
所属していません StackOverflow