كيفية تحديد ملف الحل موقع إصدارات الجمعية معلومات الملفات في MSBUILD

StackOverflow https://stackoverflow.com//questions/25075651

سؤال

لقد تم العبث مع هذا اليوم ولكن لم الحظ.الجمعية الإصدارات مع MSBUILD أعمل من قبل ، لكن في الآونة الأخيرة انتقلنا حل الملفات إلى مجلد منفصل داخل الجذر المشروع ، ومنذ ذلك الحين الإصدارات لم تكن تعمل.

وفيما يلي هيكل المشروع

رمز مجلد

-> ProjectA مجلد

-> ProjectB مجلد

-> ProjectC مجلد

-> حلول مجلد

*سبق الحلول (.sln) الملفات تحت رمز المجلد.

عندما نقوم بتشغيل MSBuild أحصل دون سابق إنذار.

لا معلومات تجميع الملفات المقدمة

أدناه هو خفض نسخة من سجل الإنشاء.

حذف مساحة العمل

00:00 حذف المصادر الدليل

00:00 إنشاء مساحة العمل

01:14 الحصول على مساحة العمل

00:00 الإصدارات الجمعيات

00:00 AssemblyVersion و AssemblyFileVersion إصدار التجميع المعالجة:باستخدام رقم الإصدار الأنماط المدرجة في بناء تعريف

00:00 كل مجموعة الجمعية الملكية القيم (ب) الإصدارات الجمعيات مع الأنماط التالية:AssemblyVersion(1.0.0.0) ، AssemblyFileVersion(yyyy.مم.دد.ب) لا معلومات تجميع الملفات المقدمة

أدناه هو MSBuild المهمة التي تنتج فوق تسجيل الدخول.

  <local:VersionAssemblyInfoFiles 
    AssemblyFileVersionPattern="[AssemblyFileVersionPattern]" 
    AssemblyInfoFilePattern=" AssemblyInfoFilePattern]" 
    AssemblyVersionPattern="[AssemblyVersionPattern]" 
    BuildDirectory="[BuildDirectory]" BuildNumberPrefix=" 
   [BuildNumberPrefix]" BuildSettings="[BuildSettings]" 
    DisplayName="Versioning Assemblies" 
    DoCheckinAssemblyInfoFiles="[DoCheckinAssemblyInfoFiles]" 
    ForceCreateVersion="[ForceCreateVersion]" 
    sap:VirtualizedContainerService.HintSize="200,22" 
    mva:VisualBasic.Settings="Assembly references and imported namespaces 
   serialized as XML namespaces" UseVersionSeedFile="[UseVersionSeedFile]" 
   VersionSeedFilePath="[VersionSeedFilePath]" Workspace="[Workspace]" 
   xmlns:local="clr-namespace:TfsBuild.Versioning.Activities;
   assembly=TfsBuild.Versioning.Activities">

      <sap:WorkflowViewStateService.ViewState>
        <scg:Dictionary x:TypeArguments="x:String, x:Object">
          <x:Boolean x:Key="ShouldCollapseAll">False</x:Boolean>
          <x:Boolean x:Key="ShouldExpandAll">True</x:Boolean>
        </scg:Dictionary>
      </sap:WorkflowViewStateService.ViewState>
 </local:VersionAssemblyInfoFiles>

أنا أيضا بحثت في الحل المقترح هنا ولكن لم الحظ.يمكن للشخص يرجى لي نقطة إلى الاتجاه الصحيح ؟ انا لا خبير في MSBuild.

شكرا مقدما.

هل كانت مفيدة؟

المحلول

لقد انتهى به الحل التالي.ليس لدينا خيار لنقل جميع الحلول الجذرية على مستوى المشروع.

أ.إنشاء حل جديد أنا.هـ SomeApp.Lib.الإصدارات.sln هذا الحل من شأنه أن تعيش تحت المجلد الجذر ويتم استخدامه فقط على الإصدارات بقية المشاريع.

ب.المشروع (.csproj) عن SomeApp.Lib.الإصدارات.sln تعيش في نفس مستوى بقية المشاريع.

وبالتالي فإن الهيكل الجديد هو

رمز مجلد

-> ProjectA مجلد

-> ProjectB مجلد

-> ProjectC مجلد

-> حلول مجلد

-> SomeApp.Lib.الإصدارات.sln

-> SomeApp.Lib.الإصدار مجلد

ج.الآن أنا مرجع SomeApp.Lib.الإصدارات.proj من أحد الحلول ضمن الحلول مجلد.وهذا يعني SomeApp.Lib.الإصدارات.proj اثنين من الحلول تعلق ضرب.

د.المشروع الذي عرض على بناء نسخة استخدام النوع الأول.الفئة e ملف من SomeApp.Lib.الإصدارات.proj

في بناء الإصدارات SomeApp.Lib.الإصدارات.proj قد الصحيح بناء نسخة(SomeApp.Lib.الإصدارات.sln في المستوى الجذر)

ملاحظات:هذا هو مجرد عمل حول و لا حلا مثاليا.هذا لن إصدار جميع الجمعيات في المشروع.على سبيل المثال إذا كنا نريد أن نعرف الجمعية التي بنيت في إصدار هذا لن يعمل.هو فقط حامل مكان للحصول على بناء نسخة من الحل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top