【问题标题】:Publish option is gone from context menu in VS2017发布选项从 VS2017 的上下文菜单中消失了
【发布时间】:2018-06-01 19:29:00
【问题描述】:

所以我正在尝试发布一个项目,但无论出于何种原因我都无法发布。我添加的最后一个项目仍然让我可以选择这样做,但其他项目都不允许我这样做。上下文菜单中缺少发布选项(请参阅 sn-ps)。我尝试按照article 中的说明更改 guid,但没有运气。

如何发布我的项目?

提前感谢您的帮助!

顺便说一句,我正在使用 Visual Studio Community 2017

【问题讨论】:

  • 这是一个什么样的项目?据我所知,要发布它,它必须是某种 web api。例如,您不能发布类库或单元测试项目。确保输出格式为“exe”
  • 哦,是的,我应该提到这一点。它是一个控制台应用程序,它会生成一个 .exe 文件。
  • 您不能发布控制台应用程序,因为它需要一些 web api 的东西。尝试一个 web api 以便能够发布。
  • 我拥有的另一个项目也是一个控制台应用程序。我在问题中显示的两个 sn-ps 都来自控制台应用程序,但一个允许我发布它,而另一个不允许。
  • hmm 你检查过 .csproj 文件的区别了吗?我一直认为发布仅适用于网络内容,因为您想将其推送到此处。在我看来,这对于控制台应用程序没有多大意义。也许这有助于docs.microsoft.com/en-gb/dotnet/core/tutorials/…

标签: c# visual-studio visual-studio-2017 publishing csproj


【解决方案1】:

所以我无法弄清楚菜单丢失的原因,但我找到了一种通过命令行发布它的方法,最终结果是相同的。使用具有管理员权限的 cmd 导航到您要发布的项目并使用以下命令:

set Platform=
set ASPNETCORE_ENVIRONMENT=
dotnet publish -c Release -o bin\Release\PublishOutput

-c 指定配置 {Debug|Release},-o 相对输出位置。欲了解更多信息,请访问dotnet的文档

【讨论】:

  • 不适合我。我试过: dotnet publish -c Release -o .\PublishOutput .\TmSmsWebApi.sln /p:Platform="Any CPU" 它似乎工作但没有输出文件夹。输出有点奇怪:“确定要恢复的项目...所有项目都是最新的,可以恢复。”
  • 您将 ASPNETCORE_ENVIRONMENT 设置为什么? (如果相关的话,我没有使用 .NET core BTW)。
【解决方案2】:

我通过使用 VS 安装程序修复了这个问题,选择了 Web 开发选项并安装了它。安装 Web 开发设置后,我可以发布选项。

【讨论】:

    【解决方案3】:

    我不知道为什么会出现这个问题,但是当我创建一个新项目时,它在括号中多了一个“.NET”,它解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      相关资源
      最近更新 更多