错误(团队建设与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提交支持服务。