C# NETCore Bin目录下无exe文件

最近在使用net Core2.0时发现项目下面没有生成exe文件,却而代之的是DLL文件,但是在运行程序的时候就不太方便,因此整理了一下使用方法:

在项目目录下打开控制台,输入 dotnet XXX.dll 然后程序就可以运行 。

同时还有其他方法生成EXE文件,在编译的时候 输入

 dotnet build --runtime win-x64

也就是在后面增加一行 --runtime win-x64是生成的平台版本

另外,--rumtime也可以简写为 –r,该命令可以简写如下:

    dotnet build -r win-x64

发布的时候使用dotnet publish即可,

    dotnet publish -c Release -r win-x64

该参数可以支持如下命令:

剩下的一个问题就是参数rid该如何选择,这里可以参看MSDN上的这篇文章:.NET Core RID Catalog。如果不想看这篇文章,对于Windows可以参考下表:

Portable

win-x86 / win-x64

Win7 / 2008 R2

win7-x86 / win7-x64

Win8 / 2012

win8-x86 / win8-x64 / win8-arm

Win8.1 / 2012 R2

win81-x86 / win81-x64 / win81-arm

Win10

win10-x86 / win10-x64 / win10-arm / win10-arm64

 

文章参考转载自:在netcore种生成exe文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我可以为您提供以下的解决方案: 1. 实现文件下载接口 您可以使用 ASP.NET Core 的内置功能,实现一个文件下载接口。具体步骤如下: - 创建一个控制器,命名为 FileController。 - 在该控制器中添加一个方法,用于接收文件下载请求。例如: ```csharp [HttpGet("download")] public async Task<IActionResult> DownloadFile(string fileName) { var filePath = "文件路径" + fileName; var memory = new MemoryStream(); using (var stream = new FileStream(filePath, FileMode.Open)) { await stream.CopyToAsync(memory); } memory.Position = 0; return File(memory, GetContentType(filePath), fileName); } ``` - 在上面的代码示例中,我们从指定的文件路径打开文件,并将其复制到内存流中。然后,我们将内存流的位置设置为 0,以确保从流的开头开始读取数据。最后,我们返回一个文件结果,其中包含文件的内容、MIME 类型和文件名。 - GetContentType 方法是一个自定义方法,用于获取文件的 MIME 类型。您可以根据文件的扩展名来选择正确的 MIME 类型。例如: ```csharp private string GetContentType(string filePath) { var provider = new FileExtensionContentTypeProvider(); if (!provider.TryGetContentType(filePath, out var contentType)) { contentType = "application/octet-stream"; } return contentType; } ``` 2. 实现文件下载调用示例 您可以使用 HttpClient 类,从 C# 后端调用文件下载接口。具体步骤如下: - 创建一个 HttpClient 实例,并指定要下载的文件文件名。 ```csharp var fileName = "文件名"; var httpClient = new HttpClient(); httpClient.BaseAddress = new Uri("http://localhost:5000"); // WebApi 服务的地址 ``` - 调用下载接口,并将文件保存到本地临时目录。 ```csharp var response = await httpClient.GetAsync($"/api/file/download?fileName={fileName}"); if (response.IsSuccessStatusCode) { var fileContent = await response.Content.ReadAsByteArrayAsync(); var filePath = Path.Combine(Path.GetTempPath(), fileName); File.WriteAllBytes(filePath, fileContent); } ``` - 在上面的代码示例中,我们首先使用 HttpClient 类调用下载接口,并获取响应。如果响应成功,我们将文件内容读取为字节数组,并将其保存到本地临时目录。 - 另外,我们可以使用 Path 类的 Combine 和 GetTempPath 方法,将文件保存到本地临时目录。 - 最后,您需要确保 WebApi 服务已启动,并且文件路径正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值