更新2:文件未发布。这就是问题所在。但是,我不明白为什么在Visual studio升级之后,我的一台计算机可以正确地发布它,而另一台计算机却不能。
更新:在两台不同的计算机上运行相同的解决方案,其中APIProject.xml文件get从一台计算机正确发布,而不是另一台计算机,现在只剩下一个区别。发布工作所使用的计算机运行的是Visual studio 2017 Enterprise的未更新版本。15.5.2不起作用,15.4.2起作用。
我得到了这个错误:
FileNotFoundException:找不到文件'D:\home\site\wwwroot\APIProject.xml‘。
该文件放置在bin\Debug\netcoreapp2.0中,它在本地工作,但当发布到Azure应用程序服务时,它会崩溃。
我正在发布到我创建的暂存槽中,但还没有尝试生产。发布将替换目标中的所有文件。
下面是我的Swagger设置,但它以前是有效的:)
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
// Register the Swagger generator, defining one or more Swagger documents
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Version = "v1",
Title = "Ecommerce/Product API",
Description = "Handles API based shopping functionality",
TermsOfService = "Terms of service should be contracted with inidividually",
Contact = new Contact { Name = "Magnus", Email = "magnus@secret", Url = "" },
License = new License { Name = "Use under permission from our Group", Url = "http://aboutno" }
});
// Set the comments path for the Swagger JSON and UI.
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var xmlPath = Path.Combine(basePath, "APIProject.xml");
c.IncludeXmlComments(xmlPath);
});
}
所改变的是,我在Program.cs中添加了"UseSetting"-row,以获得它无法启动的错误。在添加该行之前,我没有得到开发人员错误,只得到了最终用户错误页面。
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseApplicationInsights()
.UseSetting(WebHostDefaults.DetailedErrorsKey, "true")
.UseStartup<Startup>()
.Build();
我正在尝试使用调试模式进行发布。我也尝试了释放,因为下面的一个答案,但没有区别。
我在另一台计算机上签出了代码,并在那台计算机上发布代码,所以这个问题对我来说变得更加奇怪!
发布于 2018-06-25 23:09:19
我的Azure Core2.0应用程序在本地运行得很好,但在部署到.Net时抛出了一个毫无意义的“启动应用程序时发生错误。”错误。
检查日志,原因是Swagger找不到特定的.xml文件(为什么见鬼的错误消息不让我们知道?!)
解决方案是选择Build选项卡,将Configuration下拉列表更改为"Release",然后勾选此框:
就这样。
由于某些原因,在默认情况下,它被勾选(填写了.xml文件名)用于调试,而不是用于发布。
(叹息。)
发布于 2017-12-22 13:07:55
确保在Debug和Release模式下的csproj文件中存在等效的块。我猜你发布的是发布模式。
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DocumentationFile>bin\Release\netcoreapp2.0\APIProject.xml</DocumentationFile>
</PropertyGroup>
发布于 2018-05-31 09:07:25
今天,当我向.NET应用服务发布基于Azure Core2.1的ASP.NET核心Web应用程序时,我也面临着同样的问题。
当在Debug模式下运行时,它在本地运行良好,但在发布时失败。原因是我在*.csproj
文件中没有下面的配置节。
<Project Sdk="Microsoft.NET.Sdk.Web">
...
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DocumentationFile>bin\Release\netcoreapp2.1\OneGit.Api.xml</DocumentationFile>
</PropertyGroup>
...
</Project>
当右键单击项目并选择菜单项Properties
时,它表示Build
=> Output
部分中的复选框Properties
。
https://stackoverflow.com/questions/47919553
复制相似问题