سؤال
وأنا لست متأكدا حتى إذا الإصدارات هي الكلمة المناسبة لذلك، ولكن سيكون لديك للقيام به. أريد أن أبدأ وضع 'نسخة x.x.xx "مذكرة على تطبيقات الداخلية لدينا حسب الطلب من المستخدمين، بحيث يصبح لديهم الخام من فكرة عندما يتم تحديثها ذلك (وفي المستقبل، تجعل هذا الرابط الذي يظهر تغييرات). يبدو مثل استخدام ملف AssemblyInfo.cs هو فكرة جيدة - فإنه يتيح لك تلقائيا بتحديث بناء + المراجعة التي هي لطيفة (ل. DLL من تطبيق ويب)
وهذا هو نهج لائق؟ ثم كلما بلوغ المراحل النسخة الرئيسية / طفيفة لبلدي التطبيق. يمكنني فقط تحديث تلك يدويا، صحيح؟ كل هذا يفترض يمكنني في الواقع الحصول على معلومات الإصدار من التطبيق الخاص بي. بطريقة أو بأخرى، والتي لدي ليست فكرة عن كيفية القيام سواء.
المحلول
ونحن نفعل الشيء نفسه في طلبنا. وعلى الرغم من أن تتمكن من إضافة رقم الإصدار يدويا، يضاف لدينا معلومات الإصدار إلى التجمع كجزء من عملية الإنشاء الآلي لدينا (نحن نستخدم خدمة مخصصة TFS 2008)، الذي أوصى. وهنا لسيطرة نستخدم (نحن فقط وضع هذا في الجزء السفلي من الصفحة الرئيسية):
public class BuildVersion : WebControl
{
/// <summary>
/// Render override
/// </summary>
/// <param name="writer"></param>
protected override void Render(HtmlTextWriter writer)
{
writer.Write("<!--");
writer.Write("Version: ");
writer.Write(GetAssemblyVersion());
writer.Write("-->");
}
private string GetAssemblyVersion()
{
try
{
Object[] atts = Assembly.GetAssembly(this.GetType()).GetCustomAttributes(true);
foreach (Object o in atts)
{
if (o.GetType() == typeof(AssemblyVersionAttribute))
{
return ((AssemblyVersionAttribute)o).Version;
}
}
return String.Empty;
}
catch
{
return "Failed to load assembly";
}
}
}
نصائح أخرى
ويمكنك استخدام أرقام إصدار في الطريقة التي وصف، مجرد تغيير الأرقام في ملف AssemblyInfo وانتم بناء الإصدارات الجديدة ولكن من الأفضل عندما يرتبط نظام تحكم المصدر. نحن نستخدم مشاريع CrusieControl.NET ونشر ويب لتحديد رقم الإصدار ولكن أنا متأكد من أن البعض الآخر سيكون اقتراحات أخرى.
وأيضا يمكنك الحصول على رقم الإصدار من بتجميع الموقع باستخدام هذا الرمز:
System.Reflection.Assembly.GetExecutingAssembly.GetName.Version.ToString
إذا الجري في وضع التصحيح قبل تجميع وسوف تظهر 0.0.0.0 لكن يمكنك التحقق من ذلك، وعرض "التنمية" أو بعض من هذا القبيل لإظهار لنفسك كان يعمل محليا (ليس لك لن أعرف ولكن بعد ذلك إذا كنت من أي وقت مضى لا نرى 0.0.0.0 تعلمون أن هناك خطأ ما.
وعلى أمل أن يساعد
وانها ليست فكرة سيئة. الحل للحصول على الويب ASP.NET إصدار التطبيق DLL بسيط:
وVB.NET
وMy.Application.Info.Version (VB.NET)
وC #
واكسب الدخول الى مساحة الاسم الخاصة بي كما هو موضح هنا HTTP: //www.codeproject. كوم / KB / CS / MyNamespace.aspx
وأسهل بكثير من استخدام طن من التعليمات البرمجية.
ونحن أتمتة الإصدارات مع التخريب، ccnet ونانت.
والنصي لدينا يوزع مسار المجلد (/Branches/1.4.5/Source ...) واستخراج رقم الإصدار (1.4.5). بعد ذلك نحن استرداد عدد النسخة الحالية من التخريب ونضعها في الموضع الأخير من النسخة (أي 1.4.5.346). مرة واحدة لدينا رقم الإصدار الكامل نحن حقنه في جميع المجالس والكتابة إلى الملفات version.txt ذلك من السهل تحديد ما هو إصدار يتم نشرها حاليا على خوادم الويب.
ونظرا ل الجمعية لذلك، استخدام .GetName (). Version.ToString () للحصول على الإصدار في التعليمات البرمجية.
وGetName بإرجاع AssemblyName .
والنسخة إرجاع النسخة كما هو محدد في ملف AssemblyInfo الخاص بك.