استخدام AssemblyInfo لتحديث ملفات AssemblyInfo.cs المتعددة تلقائيًا
-
02-07-2019 - |
سؤال
لدي العديد من ملفات AssemblyInfo.cs كجزء من العديد من المشاريع في حل واحد أقوم بإنشائه تلقائيًا كجزء من TeamCity.
لجعل البرنامج النصي msbuild أكثر قابلية للصيانة، أود أن أكون قادرًا على استخدام مهمة مجتمع AssemblyInfo بالتزامن مع ItemGroup على سبيل المثال.
<ItemGroup>
<AllAssemblyInfos Include="..\**\AssemblyInfo.cs" />
</ItemGroup>
<AssemblyInfo AssemblyTitle="" AssemblyProduct="$(Product)" AssemblyCompany="$(Company)" AssemblyCopyright="$(Copyright)"
ComVisible="false" CLSCompliant="false" CodeLanguage="CS" AssemblyDescription="$(Revision)$(BranchName)"
AssemblyVersion="$(FullVersion)" AssemblyFileVersion="$(FullVersion)" OutputFile="@(AllAssemblyInfos)" />
وهو ما لا يعمل بشكل صارخ لأن OutputFile لا يمكن أن يكون مجموعة ItemGroup مرجعية.
هل يعرف أحد كيفية جعل هذا العمل؟
المحلول
حاول تغيير @ إلى % كما هو موضح أدناه
<ItemGroup>
<AllAssemblyInfos Include="..\**\AssemblyInfo.cs" />
</ItemGroup>
<AssemblyInfo AssemblyTitle="" AssemblyProduct="$(Product)" AssemblyCompany="$(Company)" AssemblyCopyright="$(Copyright)"
ComVisible="false" CLSCompliant="false" CodeLanguage="CS" AssemblyDescription="$(Revision)$(BranchName)"
AssemblyVersion="$(FullVersion)" AssemblyFileVersion="$(FullVersion)" OutputFile="%(AllAssemblyInfos)" />
يؤدي هذا إلى إنشاء استدعاء لكل إدخال في AllAssemblyInfos.
قم بإلقاء نظرة على هذه المقالة أيضًا، من المفترض أن تساعدك.
نصائح أخرى
نحن نستخدم الملفات "المرتبطة" في المشروع.مستكشف الحلول -> إضافة عنصر موجود -> ..حدد_ملف ..-> Arrow_on_left_of_add_button -> إضافة كارتباط
ثم لا يتم نسخ الملف المحدد ( AssemblyInfo.cs for now ) إلى دليل المشروع، بل يتم ربط bud فقط من المسار المحدد.