1

ソリューション内のファイルの相対パスを生成するためにVisualStudioと統合するT4テンプレートまたはその他のものが必要です。

彼らのアドインまたはこれへのt4はありますか?VisualStudio2012を使用しています。

このようなもの:

    public static class Scripts
    {
        public static class AdminSkin
        {
            public static class Css
            {
                public const string Site = "/Scripts/adminskin/css/site.css";
                public const string SiteFa = "/Scripts/adminskin/css/site-fa.css"; 
                public const string Reset = "/Scripts/adminskin/css/reset.css";
                public const string SimpleList = "/Scripts/adminskin/css/simple-lists.css";
                public const string SpecialPages = "/Scripts/adminskin/css/special-pages.css";

            }

            public static class Js
            {
                public const string Site = "/Scripts/adminskin/js/site.js";
                public const string JqueryaccessibleList = "/Scripts/adminskin/js/jquery.accessibleList.js";
                public const string Jquerytip = "/Scripts/adminskin/js/jquery.tip.js";
                public const string List = "/Scripts/adminskin/js/list.js";
                public const string Oldbrowsers = "/Scripts/adminskin/js/old-browsers.js";
                public const string LiveControl = "/Scripts/adminskin/js/live-control.js";
            }
        }

        public static class Calendar
        {
            public static class Js
            {
                public const string Calendar = "/Scripts/calendar/calendar.js";
                public const string CalendarSetup = "/Scripts/calendar/calendar-setup.js";

                public const string CalendarFa = "/Scripts/calendar/calendar-fa.js";
                public const string CalendarEn = "/Scripts/calendar/calendar-en.js";
            }

            public static class Css
            {
                public const string Theme = "/Scripts/calendar/aqua/theme.css";
            }
        }

        public static class HighChart
        {
            public static class Js
            {
                public const string Highstock = "/Scripts/highchart/highstock.js";
                public const string HighstockModified = "/Scripts/highchart/highstock.src.js";
                public const string Theme = "/Scripts/highchart/themes/mytheme.js";
                public const string Exporting = "/Scripts/highchart/modules/exporting.src.js";
            }
        }

        public static class ImageGallery
        {
            public static class Js
            {
                public const string JqueryEasing = "/Scripts/ImageGallery/js/jquery.easing.1.3.min.js";
                public const string JqueryWtRotator = "/Scripts/ImageGallery/js/jquery.wt-rotator.min.js";
                public const string Preview = "/Scripts/ImageGallery/js/preview.js";
            }

            public static class Css
            {
                public const string Preview = "/Scripts/ImageGallery/preview.css";
                public const string JqueryWtRotator = "/Scripts/ImageGallery/wt-rotator.css";
            }
        }

        public static class JQuery
        {
            public static class Js
            {
                public const string JqueryCdn = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js ";
                public const string JqueryUiCdn = "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.20/jquery-ui.min.js";
                public const string JqueryUiCssCdn = "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.20/themes/ui-lightness/jquery-ui.css";

                public const string JqueryLocal = "/Scripts/jquery/jquery-1.7.min.js";
                public const string JqueryUiLocal = "/Scripts/jquery-ui/js/jquery-ui-1.8.20.custom.min.js";
                public const string JqueryUiCssLocal = "/Scripts/jquery-ui/css/ui-lightness/jquery-ui-1.8.20.custom.css";
            }
        }

        public static class Linq
        {
            public static class Js
            {
                public const string Linq = "/Scripts/linq.js/linq.min.js";
            }
        }


        public static class Moment
        {
            public static class Js
            {
                public const string Moment = "/Scripts/moment/moment.min.js";
            }
        }

        public static class Lang
        {
            public static class Js
            {
                public const string Jalali = "/Scripts/lang/jalali.js";
                public const string LangFa = "/Scripts/lang/lang-fa.js";
            }
        }
    }
4

1 に答える 1

1

T4MVCはあなたが探しているものかもしれません。これは、厳密に型指定されたヘルパーを作成するASP.NETMVCアプリのT4テンプレートです。文字列を使用する代わりに使用できるクラスのセットを生成します。javascriptファイルなどの静的ファイルの場合、次のようなクラスのセットがあります。

Links.Scripts.jquery_validate_js

これにより、「〜/ Scripts/jquery.validate.js」という形式の文字列が返されます。

WebFormsプロジェクトのために、DavidEbboはAspPathGuru.ttと呼ばれる単純なT4テンプレートを作成しました。これは現在、.aspx、.ascx、および.masterファイルのみをサポートします。ただし、以下に示すようにIgnoreFileメソッドを編集すると、他のファイルのコードを生成できます。

bool IgnoreFile(FileInfo file) {
    // Only look for a few specific extensions
    switch (file.Extension.ToLowerInvariant()) {
        case ".aspx":
        case ".ascx":
        case ".js":
        case ".css":
        case ".master":
            return false;
    }

    return true;
}

これにより、以下に示すように使用できるPathsクラスが生成されます。

Paths.Scripts.jquery_1_4_1_js
于 2012-08-18T16:30:39.303 に答える