【问题标题】:How to consume a dotnet console application from a Nuget package?如何使用 Nuget 包中的 dotnet 控制台应用程序?
【发布时间】:2018-07-02 17:34:03
【问题描述】:

场景如下:

a) 任意 MyProject.csproj 调用 MyConsoleApp.exe 作为构建后事件的一部分。

b) MyConsoleApp.exe 通过 Nuget 及其所有依赖项打包和使用

我不相信这是“dotnet core 2.0”的处理方式,我尝试了 dotnet pack MyConsoleApp.csproj,但它不包括像 .exe 文件那样的依赖项。是否应该在 nupkg 中包含所有引用并在构建时发布包?

MyProject.csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  ...
  <Target Name="GenerateSomeFiles" BeforeTargets="AfterBuild">
    <Exec Command="dotnet run MyConsoleApp.dll $(TargetDir)" />
  </Target>
</Project>

【问题讨论】:

    标签: c# .net nuget .net-core


    【解决方案1】:

    您应该尝试运行 dotnet publish,然后针对在 bin/Release 或 bin/Debug 下创建的发布文件夹运行 dotnet pack。

    如果你仍然想要一个 exe,你应该在你的 csproj 中为 x86/x64 设置一个目标运行时,或者为一个完整的框架版本设置多目标。

    【讨论】:

      猜你喜欢
      • 2018-06-14
      • 2018-02-16
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      相关资源
      最近更新 更多