使用TFS Build时中断组件

时间:2015-04-16 21:10:28

标签: c# .net tfs windows-runtime windows-store-apps

使用TFS构建我的应用程序时,当我有一个Brokered组件的应用程序时,它会失败。

以下是我在Package.appxmanifest中使用的内容,它在我本地构建/运行时有效。我怎样才能使用TFS构建/部署并保留我的代理组件?这可能吗?

<Extensions>
    <Extension Category="windows.activatableClass.inProcessServer">
      <InProcessServer>
        <Path>clrhost.dll</Path>
        <ActivatableClass ActivatableClassId="BrokeredRuntimeComponent.{ClassName}" ThreadingModel="MTA">
          <ActivatableClassAttribute Name="DesktopApplicationPath"
                                     Type="string"
                                     Value="C:\Source\{AppName}\Debug\BrokeredRuntimeComponentProxy" />
        </ActivatableClass>
      </InProcessServer>
    </Extension>
  </Extensions>

当我运行构建时,我收到以下错误。我没有权限在我们的TFS上运行regsvr32 /s。这是需要在每个客户端上完成的事情,还是可以在构建服务器上完成并在每个设备上运行?我认为如果可以让构建服务以管理员身份运行,它可能会起作用。这甚至可能吗?

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets (1620): Failed to register output. Please try enabling Per-user Redirection or register the component from a command prompt with elevated permissions.

请告诉我,如果我放在这里的任何内容都不清楚,我希望能澄清一下。

1 个答案:

答案 0 :(得分:0)

您需要在构建服务器上安装所有需要在本地运行构建的内容。如果您需要某些已注册的组件,则需要提前或在构建时完成。

如果在构建时,那么TF构建运行的帐户需要权限才能执行该操作。