سؤال

أنا أدعو مهمة dotfuscator عبر TFS Build AKA Team Build ، مأخوذة من -= مهمة dotfuscator مع Team Build =-وتلقي الخطأ التالي:

Build FAILED.


(AfterCompile target) -> 

error MSB4061: The "Dotfuscate" task could not be instantiated from the assembly "C:\Program Files\MSBuild\PreEmptive\Dotfuscator\4.0\PreEmptive.Dotfuscator.Tasks.dll". 

error MSB4061: System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.

error MSB4061:    at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)

error MSB4061:    at System.Windows.Forms.Form.ShowDialog()
error MSB4061:    at PreEmptive.Tasks.Dotfuscate.b()
error MSB4061:    at PreEmptive.Tasks.Dotfuscate.a()
error MSB4061:    at PreEmptive.Tasks.Dotfuscate..ctor()
error MSB4060: The "Dotfuscate" task has been declared or used incorrectly, or failed during construction. Check the spelling of the task name and the assembly name.

    0 Warning(s)
    2 Error(s)

الكود ذو الصلة بـ dotfuscator في dotfuscator هو كما يلي:

  <!---
  All Dotfuscation Stuff here...
  -->

  <PropertyGroup>
    <ConfigPath>$(SolutionRoot)\..\$(BuildDefinitionPath)\BuildType\dotfuscator.xml</ConfigPath>
    <!--<InputPath>$(OutDir)</InputPath>-->
    <InputPath>\\Dev-6\TempBuild\Output\</InputPath>
  </PropertyGroup>

  <ItemGroup>
    <InputAssembly Include="$(InputPath)\*.dll;$(InputPath)\*.exe" Exclude="$(InputPath)\*.vshost.exe"/>
  </ItemGroup>

  <Target Name="AfterCompile">

    <!--Perform obfuscation steps after assemblies are compiled.-->

    <Dotfuscate InputAssemblies="@(InputAssembly)" Properties="$(DotfuscatorProperties)" ConfigPath="$(ConfigPath)">
      <Output TaskParameter="MappingFile" ItemName="DotfuscatorMappingFile"/>
      <Output TaskParameter="ReportFiles" ItemName="DotfuscatorReportFiles"/>
      <Output TaskParameter="OutputAssemblies" ItemName="DotfuscatedAssemblies"/>
      <Output TaskParameter="SatelliteAssemblies" ItemName="DotfuscatedSatelliteAssemblies"/>
      <Output TaskParameter="DebugSymbols" ItemName="DotfuscatedDebugSymbols"/>
    </Dotfuscate>
  </Target>
  <!-- End of dotfuscation Stuf....-->

أنا أستخدم مهمة dotfuscator التالية:

<Import Project="$(MSBuildExtensionsPath)\PreEmptive\Dotfuscator\4.0\PreEmptive.Dotfuscator.Targets" />

آلة البناء لديها Dotfuscator Professional مثبتة. تعمل بكامل طاقتها وتعمل بشكل جيد عند استخدامها يدويًا.

يرجى المساعدة في هذه المشكلة.

يعتبر

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

المحلول

عادة ما يحدث هذا هو تشغيل خدمة الإنشاء تحت حساب مختلف. يتطلب DotFuscator قبول EULA أثناء التنفيذ الأولي لكل حساب مستخدم يتم تشغيله تحت.

يمكنك تسجيل الدخول إلى خادم الإنشاء باستخدام الحساب الذي يستخدمه بنيتك وتشغيل DotFuscator وقبول EULA. بمجرد القيام بذلك ، ستعمل عمليات الإعدام المستقبلية بموجب هذا الحساب على ما يرام.

إذا لم تتمكن من تسجيل الدخول إلى خادم Build مع بيانات اعتماد خدمة Build ، يمكن أن توفر لك الدعم الفني وقائي طريقة بديلة للتغلب على هذا. يمكنك الاتصال بالدعم على support@preemptive.com أو تقديم تذكرة دعم مباشرة على http://preemptive.com/support .

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