私はVisual Studio 2010で開始したMVC 4プロジェクトに取り組んでいます。現在作業中のマシンにアクセスできないため、現在Visual Studio 2012を使用しているマシンで作業しています。私は午前中ずっと答えを見つけようとしましたが、彼らは私の状況を助けていないようです。
MVC-3-converted-to-4アプリのSystem.Web.Optimizationへの参照を追加する方法 に従い、nugetからソリューションに直接インストールしました。必要な参照パッケージをすべてダウンロードしてマシンにインストールしたにもかかわらず、System.Web.Optimization
は引き続き欠落しています。他にできることはありますか?
編集:プロジェクトをビルドしようとすると、次のエラーが表示されます
BundleConfig.csに含まれるもの
using System.Web;
using System.Web.Optimization;
namespace BCCDC_AdminTool
{
public class BundleConfig
{
// For more information on Bundling, visit http://go.Microsoft.com/fwlink/? LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
// Use the development version of Modernizr to develop with and learn from. Then, when you're
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
"~/Content/themes/base/jquery.ui.core.css",
"~/Content/themes/base/jquery.ui.resizable.css",
"~/Content/themes/base/jquery.ui.selectable.css",
"~/Content/themes/base/jquery.ui.accordion.css",
"~/Content/themes/base/jquery.ui.autocomplete.css",
"~/Content/themes/base/jquery.ui.button.css",
"~/Content/themes/base/jquery.ui.dialog.css",
"~/Content/themes/base/jquery.ui.slider.css",
"~/Content/themes/base/jquery.ui.tabs.css",
"~/Content/themes/base/jquery.ui.datepicker.css",
"~/Content/themes/base/jquery.ui.progressbar.css",
"~/Content/themes/base/jquery.ui.theme.css"));
}
}
}
これは長いショットですが、とにかく、プロジェクトを右クリックして->プロパティページを選択し、System.Web.Optimizationエントリが存在することを確認します。そうでない場合は、System.Web.Optimization.dllをbinフォルダーにコピーするか、参照としてインポートします。
編集:mvcプロジェクトには[プロパティページ]メニューオプションがありません。
もう1つ試すことができるのは、新しいmvc4基本プロジェクトを作成し、ソリューションのbinフォルダーに移動して、System.Web.Optimization.dllをエラーが発生している他のプロジェクトのbinフォルダーにコピーすることです。 dllが見つからない場合は、nugetパッケージを更新してみてください。
VS2012で開いたVS2010プロジェクトでも同じ問題が発生しました。 Microsoft.AspNet.Web.Optimizationパッケージが見つからなかったため、Nuget Package Managerを使用してダウンロードする必要がありました。
コンソールで実行できます:Install-Package Microsoft.AspNet.Web.Optimization
紛らわしいことはわかっていますが、Install-Package Microsoft.AspNet.Web.Optimization
Viewsフォルダーのweb.configに移動して、次の行を削除してください。
<add namespace="System.Web.Optimization" />
それは私のためにそれを修正しました。
私はこれを1時間戦いましたが、上記の提案はどれもうまくいきませんでした。最終的には次のもののみが機能しました(何らかの鈍い理由で):
Uninstall-Package Microsoft.AspNet.Web.Optimization <problem project name>
Install-Package Microsoft.AspNet.Web.Optimization <problem project name>
Microsoft.AspNet.Web.Optimization
の最新バージョンをインストールします。特定のバージョン(v1.1.1など)が必要な場合は、Install-Package Microsoft.AspNet.Web.Optimization <problem project name> -Version 1.1.1
を使用します<problem project name>
パラメータを忘れないでください。そうしないと、nugetはソリューションレベルで動作し、兄弟プロジェクトを踏みにじる可能性があります。ツール>>ライブラリパッケージマネージャー>> Nugetパッケージの管理>> Microsoft ASP.NET Web最適化フレームワークのインストールに移動します
Microsoft.AspNet.Web.Optimizationパッケージをアンインストールして再インストールすると解決しました。
Nugetパッケージマネージャーを使用してsystem.web.optimizationを再インストールすると、この問題は解決されました。
この問題には多くの答えがあることはわかっていますが、Visual Studioで管理者としてプロジェクトを試してみてください。私の場合は解決しました。
特定のシナリオ(ソース管理からMVCプロジェクトをダウンロードし、そのエラーを受け取った)でうまくいったのは、同じソリューションで新しいMVCプロジェクトを開くことでした。その後、作成した新しいプロジェクトを削除できますが、それでも動作します(VS2012)。
Assembly System.Web.Optimization.dllへの参照を設定してローカルをtrueにコピーすることにより、この問題を修正しました。