asp.net-web-api - 构建新的 Azure Fabric 服务时未找到 list 文件

标签 asp.net-web-api msbuild manifest azure-service-fabric

我们有一个使用 Visual Studio 2015 创建的 Microsoft Azure Service Fabric 应用程序。该解决方案已包含许多项目和服务 - 一些充当后端代码,另一些充当提供 Web 方法的 Web API 服务。我正在尝试添加一个新的 Web API 服务(名为 ReportingSvcWebApi,在名为 ReportingService.WebApi 的项目中实现)。我在结构的 ApplicationManifest.xml 文件中添加了对该服务的正确引用。我已经验证,如果我在本地构建和调试,我可以 ping ReportingSvcWebApi 服务,使用 Postman 创建一个 Web 请求,该请求调用我创建的 Controller 中的方法之一并获得正确的响应。因此,该服务似乎已正确集成到我们的结构中。

但是,当我 checkin 更改并在团队资源管理器中启动构建时,出现错误:

C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets (4875):无法复制文件“E:\[PATH-TO-OUR-SOLUTION- ON-THE-BULID-SERVER]\Binaries\ReportingService.WebApi\ReportingSvc.WebApi.exe.manifest”,因为找不到它。

请注意,ReportingSvc.WebApi.exe 是我在项目属性中设置的 ReportingService.WebApi 项目的输出程序集的名称。它也是在报告服务的 ServiceManifest.xml 文件的 CodePackage/EntryPoint/ExeHost/Program 标记中设置的值。此外,在生成日志中,在错误发生之前,我可以看到许多目标在解决方案中的所有项目上运行并成功,包括报告服务(“默认目标”、GetNativeManifestGetCopyToOutputDirectoryItems)。该故障似乎发生在执行报告服务的Publish 目标期间。

我见过其他人报告缺少 .exe.manifest 文件错误,但从未报告过 Service Fabric 服务。另外,我之前曾设法将另一个服务(ASP.NET Core MVC 服务)添加到我们的 Service Fabric 解决方案中,但没有出现此问题。最后,除了我认为与错误无关的 ApplicationManifest.xml 和 ServiceManifest.xml 文件之外,我在我们的任何项目中都找不到任何提及 list 的内容。我是否需要在某处设置一个选项来为我的项目生成 .exe.manifest 文件,或者阻止 MSBuild 查找它?

最佳答案

我通过在文本编辑器中打开服务的 .csproj 文件并在其他 <PropertyGroup> 旁边添加以下内容来解决此问题元素:

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

解决方案中的其他现有项目没有此元素,但仍然构建得很好。我不确定为什么在这种情况下这是必要的。

关于asp.net-web-api - 构建新的 Azure Fabric 服务时未找到 list 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40411187/

相关文章:

authentication - DotnetOpenAuth RefreshAuthorization 被阻止 403 禁止 (12202)

c# - 在 Web API 中使用 Windows 身份验证的自定义 RoleProvider

c# - 当请求的长度超过 320+ 个字符时,我收到 400 错误请求 - 无效的 Url

visual-studio - MSB4067 : The element <#text> beneath element <Target> is unrecognized

tfs - 如何使用保存的发布配置文件获取 TFS 构建以预编译 Web 应用程序?

此处不允许使用 Android list 属性

asp.net-web-api - 如何在 dotnet core web api 中设置起始页?

delphi - 我可能在 Delphi XE2 中破坏了什么?

java - LeanFT TestExportTool - list 主要属性的签名文件摘要无效

c# - 使用 DigestMethod 的 sha256 算法修改 C# list