1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        .NET SDK-Style 項目(Core、Standard、.NET5)中的版本號

        共 4811字,需瀏覽 10分鐘

         ·

        2020-12-28 02:43

        .NET SDK-Style 項目(Core、Standard、.NET5)中的版本號

        獨立觀察員 2020 年 12 月 24 日

        ?

        之前?.NET?Framework 時,項目版本號等信息是存儲在?AssemblyInfo.cs 文件中,通過程序集特性進行設置:

        ?

        .NET?Core?之后,.NET 項目采用了新式的?SDK-Style?模式,將這些版本信息之類的也包含在項目文件里了,默認不再生成和使用?AssemblyInfo.cs 文件,而且如果你將這個文件添加上并填寫相關信息,會提示有重復,編譯不通過。雖然也有方法來恢復以前使用 AssemblyInfo.cs 的方式,但正所謂入鄉(xiāng)隨俗,既然人家改了模式,還是按規(guī)范來吧。

        ?

        圖形操作上和以前差不多,在 屬性 - 打包 中有 “包版本”、“程序集版本” 和 “程序集文件版本”:

        ?

        編輯后就會在項目文件中出現,項目文件可通過在項目上右鍵 - 編輯項目文件 打開(此操作也是?SDK-Style?的特色):

        ?

        具體信息就是生成在 .csproj 的 PropertyGroup 節(jié)點內:

        ?

        程序集版本(AssemblyVersion)和以前一樣(也支持通配符 *),包版本(Version)對應以前的程序集信息版本(AssemblyInformationalVersion),程序集文件版本(FileVersion)對應以前的(AssemblyFileVersion):

        ?

        另外,這里是在 WPF 中綁定了程序集版本信息,方法如下,也就是引入命名空間和使用:

        ?

        AssemblyHelper 如下:

        using System.Reflection;/* * 源碼己托管:http://gitee.com/dlgcy/dotnetcodes */namespace DotNet.Utilities{    ///     /// 程序集幫助類    ///     public class AssemblyHelper    {        #region 程序集特性訪問器
        /// /// 程序集標題 /// public static string AssemblyTitle { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false); if (attributes.Length > 0) { AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0]; if (titleAttribute.Title != "") { return titleAttribute.Title; } } return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase); } } /// /// 程序集版本 /// public static string AssemblyVersion { get { return Assembly.GetExecutingAssembly().GetName().Version.ToString(); } }
        /// /// 程序集清單的其他版本信息 /// public static string AssemblyInformationalVersion { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyInformationalVersionAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyInformationalVersionAttribute)attributes[0]).InformationalVersion; } }
        /// /// Win32 文件版本 /// public static string AssemblyFileVersion { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyFileVersionAttribute)attributes[0]).Version; } }
        /// /// 程序集的文本說明 /// public static string AssemblyDescription { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyDescriptionAttribute)attributes[0]).Description; } }
        /// /// 程序集清單的產品名 /// public static string AssemblyProduct { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyProductAttribute)attributes[0]).Product; } }
        /// /// 程序集清單的版權 /// public static string AssemblyCopyright { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; } }
        /// /// 程序集清單的公司名稱 /// public static string AssemblyCompany { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyCompanyAttribute)attributes[0]).Company; } }
        #endregion }}

        ?

        這個和以前是通用的。

        ?

        最后祝大家平安夜快樂!


        瀏覽 106
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产福利免费视频 | 欧美黑人操逼纲站 | 美女视频福利 | 91禁 国产 | 992zyz玖玖资源站在线观看 | 按摩极致高潮2 | 逼好痒好想被操逼网站 | 久久久久91精品推荐99 | 男女性生活视频网站 | 98国产日韩 |