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 で使用できる必要があります。1 つのオプションは、アセンブリを 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 に答える