我正在尝试在一个共享库中编写一个自定义目标,它将允许我拉入项目的所有NuGet依赖项,以便运行ILRepack进行依赖项隐藏。
我的主要挑战是这个项目是跨net45、net46和netstandard2.0的多目标项目。如果不是这样,直接从NuGet使用现成的ILRepack目标将是相当简单的。
我正在尝试的是,在构建完成并构建我们的DLL之后,手动枚举依赖的DLL路径,将它们复制到一个已知位置,然后在DLL上运行ILRepack以合并所有依赖项。我希望通过MSBuild来实现这一点,以避免编写复杂的脚本来检索多个目标框架的依赖关系。
我一直在通过运行dotnet msbuild /pp:fullproj.xml创建的完整项目xml导出来关注我的调查。作为构建过程的一部分,有没有一个目标或输出参数可以让我拉入通常在最终.nupkg中结束的所有.dll文件的绝对路径
TL;DR是否有一种内置的方法可以枚举MSBuild目标中所有NuGet依赖DLL的绝对路径?
发布于 2018-11-29 05:27:36
您可以从ILRepack.Lib.MSBuild.Task尝试msbuild任务。此任务允许您定义一个名为ILRepack.targets的文件,该文件包含所需的目标,并允许自定义构建过程。这在类似的情况下对我很有帮助。
https://stackoverflow.com/questions/52408437
复制相似问题