1

j'invoque tâche Dotfuscator via TFS Créer alias Team Build, tiré de -=Dotfuscator Task with Team Build =- et recevoir l'erreur suivante:erreurs lors tâche Dotfuscator 4.5 avec TFS Construction (équipe Construire avec TFS 2008)

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) 

le code correspondant à Dotfuscator en Dotfuscator est la suivante:

<!--- 
    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....--> 

J'utilise la tâche Dotfuscator suivante:

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

La machine de construction a dotfuscator professional installé. Son entièrement fonctionnel et fonctionne bien lorsqu'il est utilisé manuellement.

Aidez-nous dans ce problème.

Cordialement

Répondre

2

Cela est généralement causé par le service de construction étant exécuté sous un autre compte. Dotfuscator nécessite l'acceptation du CLUF lors de son exécution initiale pour chaque compte d'utilisateur sous lequel il s'exécute.

Vous pouvez vous connecter au serveur de construction en utilisant le compte que votre build utilise, exécuter Dotfuscator et accepter le CLUF. Une fois que vous avez fait que les futures exécutions sous ce compte fonctionnera très bien.

Si vous ne parvenez pas à vous connecter au serveur de génération avec les informations d'identification du service de génération, le support technique PreEmptive peut vous fournir une autre méthode pour contourner ce problème. Vous pouvez contacter le support à l'adresse [email protected] ou envoyer directement un ticket d'assistance au http://preemptive.com/support.

Questions connexes