そのため、机に頭をぶつけた後、このかなり奇妙な問題に対する答えを見つけ出し、他の誰かが同じ問題に遭遇した場合に備えて投稿したいと考えました.
NuGet を使用して「AJAX Toolkit」をインストールすると、スクリプト マネージャーが探していた「MsAjaxBundle」Web リソースが見つからなかったため、アプリのコンパイルが停止しました。
<asp:ScriptReference name="MsAjaxBundle" />
このコードは、ajax コントロール ツールキットへの参照を追加したときに、Site.Master ファイルに追加されました。そのバンドルを探していたのに存在しなかったので、少しグーグルで検索して Web リソースを見つけ、スクリプト マネージャーの Global.asax ファイルに登録しました。
ScriptManager.ScriptResourceMapping.AddDefinition("MsAjaxBundle", new ScriptResourceDefinition
{
Path = "~/bundles/MsAjaxJs",
CdnPath = "http://ajax.aspnetcdn.com/ajax/4.5/6/MsAjaxBundle.js",
LoadSuccessExpression = "window.Sys",
CdnSupportsSecureConnection = true
});
そして、コンパイルして実行しました!しかし、何らかの理由で、アプリは「WebForm_PostBackOptions が定義されていません」というエラーを抑制していました。それを見つけて掘り下げ始めると、MsAjaxBundle に戻され、最終的にそれが原因であることに気付きました。もう少しグーグルして、このページに出くわしました:
http://stephenblog.wpengine.com/archive/2012/09/20/september-2012-release-of-the-ajax-control-toolkit
これは、ScriptManager のいくつかの変更を示しています。
1) asp:ScriptManager を ajaxToolkit:ToolkitScriptManager に置き換える必要があります。
2) ScriptReferences から MsAjaxBundle バンドルを削除する必要があります。
3) ScriptReferences から Assembly=”System.Web” 属性を削除する必要があります。
そして、私の問題は解決しました。私よりも多くの知識と経験を持っている人がコメントでなぜこれが起こったのかを説明できるなら、遠慮なく! 私にとって特にイライラしていたので、これを乗り越えられたことをただ嬉しく思います:P