2016-11-03 6 views
2

Visual Studio 2015を使用して作成されたMicrosoft Azure Service Fabricアプリケーションがあります。このソリューションには、すでに多数のプロジェクトとサービスが含まれていますウェブメソッドを提供するAPIサービス。新しいWeb APIサービス(ReportingSvcWebApiと呼ばれ、ReportingService.WebApiというプロジェクトで実装されています)を追加しようとしています。ファブリックのApplicationManifest.xmlファイルにサービスへの適切な参照を追加しました。ローカルでビルドしてデバッグした場合、ReportingSvcWebApiサービスにpingして、Postmanを使用して作成したコントローラのメソッドの1つを呼び出すWebリクエストを作成し、適切な応答を取得できることを確認しました。したがって、サービスは私たちの布地に適切に統合されているようです。新しいAzureファブリックサービスの構築中にマニフェストファイルが見つかりません

私は私の変更をチェックインし、チームエクスプローラでビルドを起動したときしかし、私はエラーを取得:

C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets (4875): Could not copy the file "E:\[PATH-TO-OUR-SOLUTION-ON-THE-BULID-SERVER]\Binaries\ReportingService.WebApi\ReportingSvc.WebApi.exe.manifest" because it was not found.

ReportingSvc.WebApi.exeはI ReportingService.WebApiプロジェクトの出力アセンブリの名前であることをプロジェクトのプロパティで設定します。また、レポートサービスのServiceManifest.xmlファイルのCodePackage/EntryPoint/ExeHost/Programタグで設定された値です。また、ビルドログでは、エラーが発生する前に、レポートサービス(「デフォルトターゲット」、GetNativeManifest、およびGetCopyToOutputDirectoryItems)を含む、ソリューション内のすべてのプロジェクトで多数のターゲットが実行され、成功することがわかりました。障害は、レポートサービスのPublishターゲットの実行中に発生しているようです。

他の人には、サービスファブリックサービスではなく、.exe.manifestファイルのエラーが報告されているのを見たことがあります。また、以前はこの問題を起こすことなく、Service Fabricソリューションに別のサービス(ASP.NET Core MVCサービス)を追加することもできました。最後に、エラーに関連しているとは思わないApplicationManifest.xmlファイルやServiceManifest.xmlファイル以外に、私たちのプロジェクトでマニフェストについて何も言及することはできません。私のプロジェクトのために.exe.manifestファイルを生成するか、MSBuildがそれを探しないようにする必要があるオプションがありますか?

答えて

1

私は、テキストエディタでサービスの.csprojファイルを開くと、他の<PropertyGroup>の要素と一緒に、以下を追加することによって、問題を修正:溶液中の他、既存のプロジェクトがこれを持っていなかった

<PropertyGroup> 
    <GenerateManifests>true</GenerateManifests> 
</PropertyGroup> 

要素とまだ細かく構築されています。この場合、なぜこれがなぜ必要なのか分かりません。

関連する問題