我有一个定制的命令行工具,它执行一些代码生成操作。基本上,它采用一个程序集作为输入,并通过反射搜索某些自定义属性,用于触发外部 (JavaScript) 文件的生成。
一切工作(几乎)正常,但该工具的分发和执行有点困惑。我想将其打包为 Nuget 包(托管在私有(private)存储库中),它本质上包含该工具和一个应该触发该工具执行的构建目标。
我应该如何打包该工具?我读到了特殊的 Nuget tool
、content
和 build
文件夹,但我不知道在哪里放置什么以及如何设置自定义目标。
我不知道这个问题是否“太宽泛”,但即使我非常清楚我需要什么,我还是处于一种空白页综合症中。
最佳答案
我会将该工具放入 NuGet 包内的构建目录中,然后在同一构建目录中创建一个自定义 MSBuild .targets 文件。然后将以这种方式编写此 MSBuild .targets 文件,以便在构建过程中的某个时刻调用它。
\build
\MyPackage.targets
那么你的构建目标文件将是 insert itself进入构建过程:
<PropertyGroup>
<BuildDependsOn>
$(BuildDependsOn);
MyCustomTarget
</BuildDependsOn>
</PropertyGroup>
<Target Name=“MyCustomTarget“>
<!-- Execute tool -->
</Target>
以上内容应将 MyCustomTarget 作为构建过程中的最后一项运行。
关于c# - 使用构建后操作创建 nuget 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37961285/