1

我正在尝试将自定义“活动代码”添加到 TFS 构建。我几个月前写了这篇文章,并让它在一个现已失效的测试环境中运行。我正在尝试将代码的使用恢复到新的测试平台上,但遇到了问题。

当我打开我的 build.xaml 时,我会在我的自定义活动应该在的地方收到可怕的红框,指出“由于 XAML 中的错误,无法加载程序集。” 在 ErrorList 中,我还发现“在程序集 'ReportingServicesDeploy' 中找不到类型 '.DeploySSRSReportActivity'。”</p>

我已经确认我的 DLL 已签入源代码管理并且构建控制器指向它。

查看原始 XAML,我看到 build.xaml 文件将程序集定义为 xmlns:rsd="clr-namespace:;assembly=ReportingServicesDeploy

我的自定义活动(以及 VS 发现错误的位置)所在的行是:

<rsd:DeploySSRSReportActivity CurrentBuild="[BuildDetail]" 
SourcesDirectory="[SourcesDirectory]" 
mtbwt:BuildTrackingParticipant.Importance="High" 
xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client" 
xmlns:mtvco="clr- namespace:Microsoft.TeamFoundation.VersionControl.Common;assembly=Microsoft.TeamFoundation.VersionControl.Common" 
xmlns:ras="clr-namespace:ReportingServicesDeploy;assembly=ReportingServicesDeploy" 
xmlns:rsd="clr-namespace:;assembly=ReportingServicesDeploy" 
xmlns:sad="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" 
xmlns:sad1="clr-namespace:System.Activities.Debugger;assembly=System.Activities" />

该 DLL 名为ReportingServicesDeploy.dll。DLL 中的命名空间是ReportingServicesDeploy,活动类的名称是DeploySSRSReportActivity

链接在哪里失败,所以我得到了那个错误?

4

1 回答 1

1

当您尝试直接在您的机器上编辑 xaml 时,不涉及 tfs 和源控制,控制器在服务器上的位置是构建代理在构建期间查找程序集的位置,以及 VS 在打开构建定义时获取它们的位置配置。

您的错误可能是由正在使用的旧版本引起的。

这些程序集必须可用于您机器上的 Visual Studio - 一种选择是将它们添加到 GAC 或发布到 VS bin 文件夹中。之后启动新的工作室实例

要安装到 GAC 中,请从 Visual Studio 命令行运行: gacutil /i "Path\To\YourAssembly.dll"

从 Visual Studio 命令行中删除程序集运行: gacutil /u "YourAssembly"

对于工作室程序集,我相信这是文件夹:Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies

于 2013-03-26T11:31:30.183 回答