【问题标题】:errors during dotfuscator 4.5 task with TFS Build (Team Build with TFS 2008)使用 TFS 构建的 dotfuscator 4.5 任务期间出现错误(使用 TFS 2008 构建团队)
【发布时间】:2010-06-26 01:42:43
【问题描述】:

我正在通过 TFS Build a.k.a Team Build 调用 dotfuscator 任务,取自 -=Dotfuscator Task with 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。它功能齐全,手动使用时工作正常。

请帮助解决这个问题。

问候

【问题讨论】:

    标签: tfsbuild visual-studio-2008-sp1 dotfuscator


    【解决方案1】:

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

    您可以使用构建所使用的帐户登录构建服务器,运行 Dotfuscator 并接受 EULA。完成后,该帐户下的未来执行将正常运行。

    如果您无法使用构建服务凭据登录构建服务器,PreEmptive 技术支持可以为您提供解决此问题的替代方法。您可以通过 support@preemptive.com 联系支持人员,或直接通过 http://preemptive.com/support 提交支持请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-16
      • 2014-08-07
      • 2013-08-23
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 2010-09-16
      • 2011-05-04
      相关资源
      最近更新 更多