سؤال

لدي مصدر ملف XML التي يتم استخدامها لإنشاء C# الملفات ثم جمعت كجزء من المشروع.
حاليا لدي BeforeBuild الهدف الذي يمتد بي لغة C# converter.
المشكلة هي أنه بحلول الوقت الذي BeforeBuild الخطوة هو تشغيل الملفات القديمة تظهر أن تم تخزينها من خلال بناء نظام ملفات جديدة يتم تجاهل.

كيف يمكنني الحصول على حول هذا ؟ ويبدو أن يحول سيكون الطريق لكنها محدودة في ما يمكن القيام به.

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

المحلول

أعتقد أن "يتم بناء نظام" يمكن ترجمتها كما ItemGroup التي تحتوي على .cs الملفات التي ترغب في تجميع يتم إنشاؤها عندما msbuild قراءة الملف ، بدلا من أن يكون الهدف هو تجميع تنفيذها.لديك عدة خيارات:

  1. <CreateItem> انظر CreateItem المهمة
  2. <Output> انظر عناصر الانتاج

آمل أن يساعد هذا.

نصائح أخرى

وكذلك لدينا شيئا من هذا القبيل العش هنا. نحن جنرال ل.cs من ملف XML باستخدام .tt. كلا الملفين هي جزء من csproj معين. الذهاب properties-> BuildEvents على csproj يعطي هذا مقتطف صغير في سطر الأوامر الحدث ما قبل البناء:

del "$(ProjectDir)MyCsFile.cs"
copy /b /y "$(ProjectDir)\MyXmlFile.xml" "$(TargetDir)"
"$(ProjectDir)tt.bat" "$(ProjectDir)MyTemplateFile.tt"

وأي فكرة إذا كان هذا من أي استخدام لكم، وآمل أنه قد يكون كافيا باعتباره آخر فرصة الحل.

وأعتقد أنك بحاجة لتبين لنا قليلا من القاعدة / بناء الملف. يجب أن يكون قاعدة / التبعية لملف خدمات العملاء لديها إكس إم إل التبعية.

ولست متأكدا ما تعنيه ب "تخزينها بواسطة نظام بناء"

وتحقق القواعد الخاصة بك بعناية عن الأخطاء / السهو.

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