0

TFS ビルドを使用して WCF サービスを公開しようとしていますが、ビルドが失敗します。

TFSのVSBuildで指定された引数を使用してみました:

/p:DeployOnBuild=True /p:PublishProfile=TestDataProfile /p:PublishProfileRootFolder=$(RelativePath)\Properties\PublishProfiles 

これは、sln に 2 つの WCF サービスがあり、他のサービスでプロファイルを見つけることができないためにビルドが失敗するために発生しています。

1 つではなく 1 つのサービス プロジェクトのみが取得されるようにするにはどうすればよいですか?

これをパラメーターとして指定することにより、TFSでMSBuildタスクを使用してcsprojを1つだけビルドしようとしましたが、

/ターゲット:Service.csproj

これは、ターゲットが見つからないという失敗につながります。

また、TFS で MSBuild を使用して 1 つの csproj をビルドしようとしましたが、次のエラーが発生しました。

Cannot determine the packages folder to restore NuGet packages. Please specify either -PackagesDirectory or -SolutionDirectory.

編集: この問題は、metaproj ファイルをデバッグすることで解決され、正しいパラメーターを取得しました。

ここで、TFS サーバーに公開する際、PublishUrl には "(サーバーの IP アドレス)/Folder/PublishService" のような TFS サーバーの場所へのパスが含まれます。

これは、特定の問題を示すことで失敗につながります。

 Publish Pipeline Deploy phase Stage PipelinePreDeployCopyAllFilesToOneFolder
WebFileSystemPublish:
Creating directory "\\Server ip\VishalBuildTest\ServiceData".
[error]C:\ProgramFiles(x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Deploy\Microsoft.Web.Publishing.Deploy.FileSystem.targets(93,5): Error MSB3191: Unable to create directory "\\Server ip\VishalBuildTest\ServiceData". Access to the path '\\Server ip\VishalBuildTest\ServiceData' is denied.

これを実行するにはどのような権限が必要ですか?

これは、MSBuild コマンド プロンプトから実行している間は完全に機能します。

どんな助けでも大歓迎です。

4

1 に答える 1