c# - 自定义 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>
解决方案
就像 Panagiotis Kanavos 建议的那样,您还需要调用 cli 工具
<Target Name="MyCliToolTarget" AfterTargets="Build">
<Exec Command="dotnet cqsgen" />
</Target>
推荐阅读
- amazon-s3 - 从 S3 加载 spark DF,多个文件。这些方法中哪一种最好?
- java - Google Drive API v3-在Java文件夹中创建一个文件夹
- php - 通过 PHP 将不规则 XML 导入 MySQL
- integration-testing - 为公共存储库保护测试数据的方法
- php - Bash 执行 PHP 脚本 - 权限被拒绝
- game-development - 平铺地图编辑器切断导入 png 的边缘
- angular - 角度 2 如何在表单控件上设置初始错误状态
- python - Ubuntu 18.04 “ModuleNotFoundError: No module named 'boto3'” 在“pip install boto3”之后?
- javascript - 时间戳字段上的 Firestore“位置”查询
- azure-logic-apps - Azure SQL - 从 SSMS 手动运行存储过程需要 16 分钟,使用逻辑应用运行它需要 > 12 小时