【问题标题】:Can't find C# executable找不到 C# 可执行文件
【发布时间】:2019-07-13 18:08:15
【问题描述】:

我在 Visual Studio 2019 中创建了一个新项目并将其命名为 SimpleCSharpApp。编写了一个简单的 HelloWorld 应用程序并在调试模式下编译。现在我需要可执行文件(更准确地说是.exe 文件)。它应该在SimpleCSharpApp/bin/Debug 中,但它不存在。有一个名为 netcoreapp2.1 的目录,其中包含以下文件:

SimpleCSharpApp.deps.json  
SimpleCSharpApp.dll  
SimpleCSharpApp.pdb  
SimpleCSharpApp.runtimeconfig.dev.json  
SimpleCSharpApp.runtimeconfig.json  

如何找到可执行文件?

【问题讨论】:

  • 可执行文件在文件夹netcoreapp2.1中。
  • @OlivierJacot-Descombes 不是。请查看编辑
  • 如果它只包含一个DLL,那么可能你创建了一个类库项目。
  • 您可以创建不同类型的项目。类库项目生成一个 DLL。 Console App (.NET Framework)Window Forms App (.NET Framework)WPF App (.NET Framework) 都生成一个 EXE。如果您想要一个简单的 hello world 应用程序,请使用 Console AppWindow Forms App。它们都只是在 VS 中编译。
  • 确实创建了一个可执行文件。您可能只将 .exe 文件视为可执行文件,但其中与控制台应用程序项目同名的 .dll 文件实际上是可执行文件,它只是一个 .NET Core 可执行文件,它需要使用 dotnet 命令执行。有关创建 Windows .exe 可执行文件的方法,请参阅下面提供的答案。

标签: c# visual-studio .net-core


【解决方案1】:

我假设它是一个 dotnet 核心应用程序,因为有一个名为 netcoreapp2.1 的文件夹。

在您的项目的根目录执行以下命令以发布您的带有可执行文件的应用程序:

dotnet publish -c Release -r <RID> --self-contained false

RID 是运行时标识符,例如 win-x64 或您想要构建的任何平台。

如果你想获取 DLL 那么:

dotnet yourappname.dll 

“dll”文件适用于 .net 核心运行时支持的不同平台,例如 windows、linux 和 macOS。

如果您希望在不触发任何命令的情况下在每个 Visual Studio 构建中获取可执行文件,然后通过在 &lt;PropertyGroup&gt;&lt;/PropertyGroup&gt; 部分之间添加以下行来编辑您的 .csproj 文件:

  <RuntimeIdentifier>win10-x64</RuntimeIdentifier>

现在,当您构建时,netcoreapp2.1 内有一个名为 win10-x64 的文件夹,其中包含可执行文件。

【讨论】:

    猜你喜欢
    • 2021-05-21
    • 2019-11-02
    • 2013-11-20
    • 2012-07-22
    • 2017-05-07
    • 2020-10-25
    • 2021-12-14
    相关资源
    最近更新 更多