相关疑难解决方法(0)

构建.NET Core控制台应用程序以输出EXE?

对于面向.NET Core 1.0的控制台应用程序项目,我无法弄清楚如何在构建期间输出.exe.项目在调试中运行良好.

我已经尝试发布该项目,但这也不起作用.有道理,因为.exe将是特定于平台的,但必须有一种方法.我的搜索只引用了使用project.json的旧版.Net Core版本.

无论何时我建立或发布,这都是我得到的.

构建目录

.net-core

370
推荐指数
3
解决办法
16万
查看次数

如何创建控制台应用程序的exe

我们如何为控制台表单应用程序创建exe?

c# winforms

32
推荐指数
4
解决办法
10万
查看次数

使用Task Scheduler在Windows上安排.Net Core控制台应用程序

是否可以使用任务计划程序安排.net核心控制台应用程序每天在特定时间运行?

.net .net-core asp.net-core

18
推荐指数
3
解决办法
8441
查看次数

有没有办法在.NET Core中只使用一个文件来运行控制台应用程序?

在.NET框架中,您可以创建一个.EXE将从命令行运行的单个文件,而无需任何额外的配置文件(如果使用ILMerge,则可以将所有.DLL引用放入1个.EXE程序集中).

我正在尝试使用.NET Core来完成同样的事情,但到目前为止还没有成功.即使是Hello World没有依赖关系的最简单的应用程序也需要有一个命名的文件<MyApp>.runtimeconfig.json才能运行dotnet.exe.

dotnet F:\temp\MyApp.dll
Run Code Online (Sandbox Code Playgroud)

内容<MyApp>.runtimeconfig.json如下:

{
  "runtimeOptions": {
    "framework": {
      "name": "Microsoft.NETCore.App",
      "version": "1.1.1"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

如果没有与此文件夹相同的配置文件.DLL,我会收到以下错误:

A fatal error was encountered. The library 'hostpolicy.dll' required to
execute the application was not found in 'F:\temp'.
Run Code Online (Sandbox Code Playgroud)

我的问题是:有没有办法改变应用程序,所以它不需要这个配置文件存在,所以这些信息的默认值是在编译内,.DLL但可以通过添加配置文件来覆盖?

注意:如果平台具有正确版本的.NET Core,我还要确保它"正常工作"而不管它上面安装的平台.

背景

我试图获得一个流畅的用户体验,运行一些有时很有用的实用程序,但很少需要.因为它似乎没有可以使用相同的.DLL是从客户端应用程序中引用作为控制台应用程序,未来最好的事情是有一个单一的文件是可以下载,没有任何依赖性运行.

例如,在Java中,您只需.jar在任何支持的平台上下载文件并运行:

java <package>.jar <namespace>.SomeClass [args]
Run Code Online (Sandbox Code Playgroud)

并且它将"正常工作"而没有任何额外的文件.如何使用.NET Core获得类似的用户体验?

简而言之,我想尽量避免"首先解压缩到目录"的额外步骤......

.net c# console-application command-line-interface .net-core

17
推荐指数
3
解决办法
2070
查看次数

.NET Core 31 - 单个 EXE - 要执行的应用程序不存在

昨天将旧的 .NET Framework 项目转换为 .NET Core 3.1。该应用程序在我自己的机器上运行良好并且调试正确。

我已将以下内容放入我的 .vbproj/.csproj 中

<PublishSingleFile>true</PublishSingleFile>
<RuntimeIdentifier>win81-x64</RuntimeIdentifier>
Run Code Online (Sandbox Code Playgroud)

但是,当我将 .EXE 移动到远程计算机并尝试在该远程计算机上运行所述 EXE 时,我被告知该 DLL(针对相关项目)不存在。

我将 .dll 移至 exe 所在的同一目录(不理想),但出现以下错误

A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\Program Files\dotnet'.
Run Code Online (Sandbox Code Playgroud)

我曾经使用 Costura.Fody 创建单个文件 exe,在 .NET Framework 中没有任何问题,我的印象是上面的方法会对 .NET Core 包执行相同的操作。

有人可以指出我正确的方向吗?

.net-core

6
推荐指数
1
解决办法
5288
查看次数

如何在 Azure DevOps 中编译 .NET(控制台应用程序)并生成一个 exe

我使用 .NET 桌面模板和“create .msi”扩展名创建了一个管道,但它显示了一个警告:

 ##[warning]No .MSI files were found, please check your build-configuration. If this is expected, you might consider to use the default Visual Studio Build task instead of this custom Installer task.
2018-11-28T22:58:54.1434410Z ##[section]Finishing: Create .msi file(s) from VS Installer project(s).
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何使用 Azure Pipeline 创建 exe 文件并将其部署在虚拟机上。

azure azure-devops azure-pipelines

1
推荐指数
1
解决办法
4256
查看次数

Azure Devops 构建管道不构建可执行文件

我使用以下 Yaml 设置了 azure 构建管道

在此输入图像描述

该项目是一个简单的 hello world 控制台应用程序,用 c# .net core 3.1 编写

当我在本地构建或发布该项目时,我得到以下输出:

  • 第146章
  • 第186章
  • 第416章
  • 4.608 测试Yaml.dll
  • 171.520 测试Yaml.exe
  • 第656章
  • 第154章

但是,通过构建管道发布的工件为我提供了以下文件:

  • 第 140 章
  • 第179章
  • 第394章
  • 4.608 测试Yaml.dll
  • 86.424 测试Yaml
  • 第632章
  • 146 TestYaml.runtimeconfig.json

所以在这里,文件大小更小,更重要的是 TestYaml.exe 丢失了,并被 TestYaml 文件替换。

这应该相当简单,但我不明白缺少什么。

先谢谢您的帮助!

build-pipeline azure-devops dotnetcorecli

0
推荐指数
1
解决办法
1814
查看次数