错误(团队建设与2008年TFS)

问题描述:

我调用Dotfuscator的任务通过TFS构建又名团队建设,取自-=Dotfuscator Task with Team Build =-和接收以下错误:错误(团队建设与2008年TFS)

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专业版。它的功能齐全,手动使用时效果很好。

请帮助解决这个问题。

Regards

这通常是由构建服务在不同的帐户下运行引起的。 Dotfuscator要求在其运行的每个用户帐户的初始执行期间接受EULA。

您可以使用您的版本使用的帐户登录到构建服务器,运行Dotfuscator并接受EULA。一旦你完成了,该账户下的未来执行将会正常运行。

如果您无法使用构建服务凭据登录构建服务器PreEmptive技术支持可为您提供另一种方法来解决此问题。您可以通过[email protected]与支持部门联系,或直接在http://preemptive.com/support提交支持服务。