【发布时间】:2018-07-19 10:51:34
【问题描述】:
编辑:我注意到 bin\Debug\net461\Publish 中有一个文件夹包含所需的一切,我尝试检查这种方式使用的配置:
#if DEBUG
ViewData["Message"] = "DEBUG";
#else
ViewData["Message"] = "else";
#endif
网页显示“DEBUG”...
原始问题:
ASP.Net 核心发布一个空文件夹:我没有 ASP.Net 的问题,只有 ASP.Net 核心。下面是我在两个平台上创建发布配置文件的方法:
创建配置文件 => 文件夹 => bin\Release\PublishOutput => 创建配置文件 => 发布
使用 Asp.Net 它会生成这个 .pubxml :
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>bin\Release\PublishOutput</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
</Project>
使用 Asp.Net 输出:
2>Web App was published successfully file:///Path/bin/Release/PublishOutput
2>
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========
使用 Asp.Net Core,它会生成这个 .pubxml:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<ProjectGuid>32b7ffef-9cf4-471a-ab1a-ec3c69d0dd13</ProjectGuid>
<publishUrl>bin\Release\PublishOutput</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
</Project>
使用 Asp.Net Core 的输出:
Web App was published successfully file:///Path/bin/Release/PublishOutput
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========
我在 3 台计算机上尝试过,我仍然得到一个带有 Asp.Net Core 的空文件夹。
【问题讨论】:
-
这不是直接回答你的问题,而是解决你的问题:发布时使用dotnet CLI,
cd到你的.csproj或.sln的目录,然后运行@987654329 @在你最喜欢的终端中 -
我忘了在我的问题中添加“请避免使用命令行”,但经过几个小时的努力,您的评论是目前唯一的解决方案,您能否发表您的评论作为答案,以便我可以接受吗?
-
我没有回答你的问题,只是解决了它。我认为它不应该被标记为答案。对于 dotnet core,我的建议是使用它的 CLI。它实际上非常简单直观。许多现代 CLI 工具都是。
-
即使有人找到了这个 VS 错误的解决方案,微软也会修复这个问题,我的问题将在不到几个月的时间内过时,只需发表您的评论作为答案。