.NET Core控制台应用程序未创建EXE文件

3
我正在尝试按照这篇教程发布一个.NET Core控制台应用程序,但是当我发布时,在PublishOutput文件夹中没有可执行文件(只有DLL文件)。 我还阅读了这篇文章
我的项目文件如下:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

</Project>

看起来很简单明了,但我做错了什么吗?


你使用哪个构建工具? - user4592495
@AndrewHunter 只需从Visual Studio 2017运行“发布”即可。 - Matt M
2个回答

2

我尝试在Visual Studio提供的Hello, World!模板上进行此操作。将您的.csproj文件更改为以下内容:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <!--<OutputType>Exe</OutputType>-->
    <TargetFramework>netcoreapp1.1</TargetFramework>
    <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
  </PropertyGroup>
</Project>

我认为 OutputType 不比 RuntimeIdentifiers 属性更重要。

然后在控制台中运行 dotnet restore,接着运行 dotnet publish -c release -r win10-x64

这将在目录 \bin\Release\netcoreapp1.1\win10-x64\publish 下生成一个 EXE 文件。

请查看第一个链接中同一人所写的 此篇文章


我尝试了这个,但仍然没有得到一个 .exe 文件。 - Matt M
1
奇怪,我用这种方法得到了可执行文件。你能检查一下是否有可用的VS更新吗?在工具>扩展和更新下。 - Brian

2

嗯,这是一个奇怪的问题。我仍在努力解决它。我发现从CLI到Visual Studio 2017获取功能似乎存在延迟:此 Stack Overflow 文章讨论了这个问题

此外,关于“输出类型”究竟意味着什么仍然存在困惑,因为它不是我们所有人所认为的那样。此 GitHub 问题讨论了这个问题。


我也尝试在VSCode中进行相同的操作,但结果相同。我确实使用@Brian列出的参数,执行dotnet new console、dotnet restore和dotnet publish(在对项目文件进行更改并添加“RuntimeIdentifiers”部分后)。但我仍然没有得到.exe文件。现在正在阅读Github问题。我使用的是Visual Studio 2017版本15.1。 - Matt M
我之前使用的是15.1版本,也遇到了你所看到的问题。我现在正在更新VS,然后再试一次。你可能也想这么做,但我会告诉你我的结果。 - user4592495
正在更新中。感谢所有的帮助! - Matt M
是的,这对我也起作用了。此外,我还发现了这个示例文档,其中列出了步骤。 - user4592495

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接