首页 > 解决方案 > 自定义 NET CORE CLI 工具在构建时不运行

问题描述

我写了一个小测试工具

namespace dotnet_cqsgen
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            File.WriteAllText(@"c:\temp\test.txt", "Hello");

        }
    }
}

将其发布到本地 nuget 存储库并将其添加到主机核心项目

  <ItemGroup>
    <DotNetCliToolReference Include="dotnet-cqsgen" Version="1.0.3" />    
  </ItemGroup>

还有工具 csproj

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <RootNamespace>dotnet_cqsgen</RootNamespace>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <PackageType>DotnetCliTool</PackageType>
    <Version>1.0.3</Version>
  </PropertyGroup>    
</Project>

虽然当我构建宿主项目时,Hello world 都没有写入控制台,也没有在 c:\temp 生成文本文件

我究竟做错了什么?

更新:

  <Target Name="MyCliToolTarget" AfterTargets="Build">
    <Exec Command="dotnet cqsgen" />
  </Target>

标签: c#asp.net-coreasp.net-core-cli

解决方案


就像 Panagiotis Kanavos 建议的那样,您还需要调用 cli 工具

  <Target Name="MyCliToolTarget" AfterTargets="Build">
    <Exec Command="dotnet cqsgen" />
  </Target>

推荐阅读