GitHubから最新のDotNetOpenAuthコードをダウンロードしましたが、最初はビルドに失敗しました。次のコマンドを実行して問題を修正しました。
sn -Vr *,2780ccd10d57b246
ここで見つかりました:
http://www.dotnetopenauth.net/developers/contributing/quickstart-environment/
私は先に進み、プロジェクトDotNetOpenAuth.AspNetにいくつかの変更を加えました。それはうまくコンパイルされました。次に、サンプルの下にMVC 4 Webプロジェクトを作成して、変更をテストしました。ソリューションは再びコンパイルされました。ただし、デバッグをクリックするとすぐに、ASP.NETの黄色い画面が表示され、次のエラーが表示されます。
ファイルまたはアセンブリ'DotNetOpenAuth.AspNet'またはその依存関係の1つを読み込めませんでした。強力な名前の署名を確認できませんでした。アセンブリが改ざんされているか、遅延署名されているが正しい秘密鍵で完全に署名されていない可能性があります。(HRESULTからの例外:0x80131045)
MVC 4プロジェクトは空のテンプレートから作成されたため、Microsoft.Web.WebPages.OAuthへの参照はありません。
私は何が欠けていますか?上記のリンクにある残りの手順を完了しました。
sn -k mykeyfile.pfx
sn -i mykeyfile.pfx mykeycontainer
sn -p mykeyfile.pfx mykeyfile.pub
sn -q -t mykeyfile.pub
sn -Vr *,<YourPublicKeyTokenHere>
また、ファイル\ tools \ DotNetOpenAuth.props、具体的には次の行を変更しました:27,29,30新しい値
26. <SignAssembly>true</SignAssembly>
27. <PublicKeyFile Condition="'$(PublicKeyFile)' == ''">$(ProjectRoot)src\official-build-key.pub</PublicKeyFile>
28. <AssemblyOriginatorKeyFile Condition="'$(AssemblyOriginatorKeyFile)' == ''">$(PublicKeyFile)</AssemblyOriginatorKeyFile>
29. <KeyPairContainer Condition="'$(KeyPairContainer)' == ''">DotNetOpenAuth</KeyPairContainer>
30. <PublicKeyToken>2780ccd10d57b246</PublicKeyToken>
31. <DelaySign>true</DelaySign>
32. <SignedSubPath>signed\</SignedSubPath>