3

Windows Azureの公開設定で、次を選択しました。

Environment: Production
Build Configuration: Release

私のWeb.Release.configには、次のものがあります。

  <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />

以前はバンドル作業を行っていましたが、知っているコード変更は行いませんでした。ただし、クラウドに公開してWebページを表示すると、バンドルがまったくないように見えます。すべてのJavaScriptとCSSが1つずつダウンロードされます。

足りないものはありますか?これは以前は機能していましたが、現在はまったく機能していないようです。

以下を明示的に設定する必要がありますか?

<compilation debug="false" targetFramework="4.0">

またはこれ:

public static void RegisterBundles(BundleCollection bundles) {
   ...
   ...
   BundleTable.EnableOptimizations = true;
}

上記の行を追加すると、「EnableOptimizationsはプロパティですが、型のように使用されます」というメッセージが表示されることに注意してください。

4

1 に答える 1

3

Web構成でデバッグをfalseに設定します

<compilation debug="false" targetFramework="4.0">

そして、それは期待どおりに機能するはずです!

ああ、もう1つ:

BundleTable.EnableOptimizations = true;

Web.Config設定をオーバーライドするため、これがtrueに設定され、Web.Configがデバッグに設定されている場合は、同様に機能するはずです。

これを使用する場合は、次のように、実際にBundleTable...を適切な場所に追加したことを確認してください。

   public static void RegisterBundles(BundleCollection bundles)
    {
        BundleTable.EnableOptimizations = true; 

編集:参照用に動作するBundleConfigを含める

using System.Web;
using System.Web.Optimization;

namespace YourNameSpace
{
    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/wf").Include(
             "~/Scripts/jquery-{version}.js",
             "~/Scripts/jquery-ui-{version}.js",
             "~/Scripts/jquery.unobtrusive*",
             "~/Scripts/jquery.validate*",
             "~/Scripts/jquery.wf.overrides.js",
             "~/Scripts/popup.unobtrusive.js"));
            BundleTable.EnableOptimizations = true; 
        }

    }
 }
于 2012-12-19T11:42:00.773 に答える