web-dev-qa-db-ja.com

System.Web.OptimizationおよびMicrosoft.Web.Optimizationは、2012年に参照をロードしません

私はVisual Studio 2010で開始したMVC 4プロジェクトに取り組んでいます。現在作業中のマシンにアクセスできないため、現在Visual Studio 2012を使用しているマシンで作業しています。私は午前中ずっと答えを見つけようとしましたが、彼らは私の状況を助けていないようです。

MVC-3-converted-to-4アプリのSystem.Web.Optimizationへの参照を追加する方法 に従い、nugetからソリューションに直接インストールしました。必要な参照パッケージをすべてダウンロードしてマシンにインストールしたにもかかわらず、System.Web.Optimizationは引き続き欠落しています。他にできることはありますか?

編集:プロジェクトをビルドしようとすると、次のエラーが表示されます

  • 型または名前空間名「最適化」が名前空間「System.Web」に存在しません(アセンブリ参照がありませんか?)-BundleConfig.cs
  • 型または名前空間名「最適化」が名前空間「System.Web」に存在しません(アセンブリ参照がありませんか?)-Global.asax.cs
  • 型または名前空間「BundleCollection」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)-BundleConfig.cs

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"));
        }
    }
}
31
MacSalty

これは長いショットですが、とにかく、プロジェクトを右クリックして->プロパティページを選択し、System.Web.Optimizationエントリが存在することを確認します。そうでない場合は、System.Web.Optimization.dllをbinフォルダーにコピーするか、参照としてインポートします。

編集:mvcプロジェクトには[プロパティページ]メニューオプションがありません。

もう1つ試すことができるのは、新しいmvc4基本プロジェクトを作成し、ソリューションのbinフォルダーに移動して、System.Web.Optimization.dllをエラーが発生している他のプロジェクトのbinフォルダーにコピーすることです。 dllが見つからない場合は、nugetパッケージを更新してみてください。

12
sdagkas

VS2012で開いたVS2010プロジェクトでも同じ問題が発生しました。 Microsoft.AspNet.Web.Optimizationパッケージが見つからなかったため、Nuget Package Managerを使用してダウンロードする必要がありました。

コンソールで実行できます:Install-Package Microsoft.AspNet.Web.Optimization

78
Jonathan Bick

紛らわしいことはわかっていますが、Install-Package Microsoft.AspNet.Web.Optimization

59
rido

Viewsフォルダーのweb.configに移動して、次の行を削除してください。

        <add namespace="System.Web.Optimization" />

それは私のためにそれを修正しました。

13
Bryan Legend

私はこれを1時間戦いましたが、上記の提案はどれもうまくいきませんでした。最終的には次のもののみが機能しました(何らかの鈍い理由で):

  1. ctrl-q->「パッケージマネージャーコンソール」と入力
  2. Uninstall-Package Microsoft.AspNet.Web.Optimization <problem project name>
  3. 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はソリューションレベルで動作し、兄弟プロジェクトを踏みにじる可能性があります。
  • プロジェクト名を省略すること自体が、ソリューションレベルのバージョン更新またはパッケージインストールを行うのに非常に便利であることに注意してください。
6
sming

ツール>>ライブラリパッケージマネージャー>> Nugetパッケージの管理>> Microsoft ASP.NET Web最適化フレームワークのインストールに移動します

6
rakhesh

Microsoft.AspNet.Web.Optimizationパッケージをアンインストールして再インストールすると解決しました。

3
Bravax

Nugetパッケージマネージャーを使用してsystem.web.optimizationを再インストールすると、この問題は解決されました。

2
Faisal

この問題には多くの答えがあることはわかっていますが、Visual Studioで管理者としてプロジェクトを試してみてください。私の場合は解決しました。

0
WonderHeart

特定のシナリオ(ソース管理からMVCプロジェクトをダウンロードし、そのエラーを受け取った)でうまくいったのは、同じソリューションで新しいMVCプロジェクトを開くことでした。その後、作成した新しいプロジェクトを削除できますが、それでも動作します(VS2012)。

0
BornToCode

Assembly System.Web.Optimization.dllへの参照を設定してローカルをtrueにコピーすることにより、この問題を修正しました。

0
James