كيف يمكنك تحديث المراجع في تطبيقات ASP.NET بدون الاستوديو المرئي؟

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

  •  22-08-2019
  •  | 
  •  

سؤال

لدي تطبيق ASP.NET يعتمد على تجميع خارجي غير موجود في GAC.يحتوي التطبيق على ملف .refresh الذي ينسخ التجميع إلى دليل bin عندما يتم تجميع التطبيق.

عندما أقوم بتثبيت التطبيق على خادم إنتاج (عن طريق نسخ ملفات التطبيق إلى دليل ظاهري)، لا يتم تحديث دليل bin تلقائيًا من خلال وجود ملف .refresh كما اعتقدت.لقد حاولت استخدام أداة aspnet_compiler ولكن هذا لا يعمل لأنه يتوقع أن تكون التجميعات موجودة في دليل bin بالفعل.

كيف يمكنني أن أجعل .NET يقوم بتحديث دليل bin الخاص بالتطبيق بدون الاستوديو المرئي؟

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

المحلول

والملفات .refresh هي فقط هناك بحيث يعرف VS أنه ينبغي أن تتبع الأصول، وإذا كانت قد تغيرت، نسخ الإصدار الجديد إلى المجلد / بن. أنها مجرد ملفات نصية مع مسار إلى الأصلي - تاريخ تعديل يستخدم لمقارنة

وعندما تقول:

<اقتباس فقرة>   

عند I تثبيت التطبيق على خادم إنتاج (عن طريق نسخ الملفات التطبيق إلى دليل ظاهري)، لا يتم تحديث الدليل بن تلقائيا.

وماذا بالضبط تقصد؟ لم تقم أيضا نسخ محتويات الدليل بن لخادم الإنتاج؟ وسوف تحتاج لنشر أي تجمعات تعتمد مع التطبيق.

نصائح أخرى

ومسح الدليل مخبأ للasp.net قد تساعد:

C:\WINDOWS\Microsoft.NET\Framework\
FRAMEWORK_VERSION\Temporary ASP.NET Files\YOUR_APP_NAME

احذف تلك الملفات.refresh.

قم بإنشاء برنامج نصي بسيط للبناء (باستخدام ما تريد cmd، NAnt، Rake، psake ...) والذي:

  • انسخ هذه الملفات إلى مجلد تطبيق asp.net الخاص بك
  • أنشئ لك تطبيق asp.net.

أو يمكنك تعديل ملف .csproj الخاص بك وإضافة شيء مثل:

<ProjectExtensions>
  <PropertyGroup>
    <PreBuildEvent>copy c:\path\to\dll\files $(ProjectDir)$(OutDir)</PreBuildEvent>
  </PropertyGroup>
</ProjectExtensions>

سيؤدي هذا إلى إضافة إجراء إنشاء مسبق يقوم بنسخ ملفات dll الخاصة بك إلى دليل الإخراج لتطبيق asp.net الخاص بك.سيكون عليك بنائه باستخدام MsBuild

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