2016-11-03 66 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>元素固定的问题元素和仍然很好。我不确定为什么在这种情况下这是必要的。