2016-11-03 64 views
2

我們有一個使用Visual Studio 2015創建的Microsoft Azure服務結構應用程序。該解決方案已包含許多項目和服務 - 一些用作後端代碼,其他用作Web提供Web方法的API服務。我試圖添加一個新的Web API服務(名爲ReportingSvcWebApi,在名爲ReportingService.WebApi的項目中實現)。我在面料的ApplicationManifest.xml文件中添加了適當的服務參考。我已經驗證過,如果我在本地構建和調試,則可以ping服務,使用Postman創建一個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是輸出組件爲ReportingService.WebApi項目的名稱,我在項目的屬性中設置。這也是報告服務ServiceManifest.xml文件的CodePackage/EntryPoint/ExeHost/Program標記中設置的值。另外,在構建日誌中,在發生錯誤之前,我可以看到許多目標在解決方案中的所有項目上運行並取得成功,包括報告服務(「默認目標」,GetNativeManifestGetCopyToOutputDirectoryItems)。報告服務的Publish目標執行過程中似乎發生故障。

我見過其他人報告缺少.exe.manifest文件錯誤,但從來沒有爲服務結構服務。另外,我還設法在我們的Service Fabric解決方案中添加了另一項服務(一種ASP.NET Core MVC服務),而沒有這個問題。最後,除了我認爲與錯誤無關的ApplicationManifest.xml和ServiceManifest.xml文件之外,我無法在任何項目中找到任何清單。是否有一個選項需要設置某處爲我的項目生成一個.exe.manifest文件,或者阻止MSBuild尋找它?

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

另外,已經存在的項目,在解決方案並沒有這樣的:

回答

1

我在文本編輯器中打開了服務的.csproj的文件,並添加以下旁邊的其他<PropertyGroup>元素固定的問題元素和仍然很好。我不確定爲什麼在這種情況下這是必要的。