سؤال

جميع،

ولدي حاليا حل بي تتألف من 2 المكتبة فئة وبناء موقع ويب ضمن teamCity باستخدام Msbuild. الآن أريد أن precompile الموقع وجعلها متاحة على أنها قطعة أثرية. ولكن عندما أحاول Precompile باستخدام

<Target Name="PrecompileWeb" DependsOnTargets="Build">
    <AspNetCompiler
        PhysicalPath="$(BuildDir)\Location\" 
        TargetPath="$(BuildDir)\Publish"
        Force="true"
        Debug="true"

        />
  </Target>

وأحصل على خطأ becasue انها تبحث عن المسار الظاهري (والذي ليس لدي كما كل ما تريد أن تفعل ذلك precompile ملفات لا تعنيني في نشر الموقع) إذا وضعت مسار زائف في أحصل خطأ آخر (صحيح) عن ذلك عدم تطبيق تحت IIS

وأي أفكار

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

المحلول

وهذا هو موقع ويب أو مشروع تطبيق ويب؟ إذا كان هذا الأخير، بدلا من القيام بالمهمة AspNetCompiler، هل مهمة MSBuild إلى ملف csproj / vbproj، واصفا Rebuild;ResolveReferences;_CopyWebApplication الأهداف وتحديد الملكية OutDir.

إذا كنت تستخدم شبكة الإنترنت، ثم تحديد VirtualPath أن يكون مسار IIS صالح. ما يحدث هو أنه عندما لم تقم بتحديد الملكية VirtualPath، فإنه يحاول حلها باستخدام PhysicalPath وIIS. وأعتقد أن مجرد قطعة أثرية من الطريقة التي يعمل بها AspNetCompiler.

نصائح أخرى

وأنا لست متأكدا من هذا العمل لأن هذا سيحدث في كل بناء؟ أريد فقط أن تفعل ذلك عندما أركض بناء على TeamCity خادم يبني يست محلية.

وأساسا أنا حاليا

وبناء كل الحلول المطلوبة تنفيذ وحدة الاختبارات إنشاء مجلد مضغوط والقطع الأثرية

وهتاف

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