我需要帮助才能通过自定义nuget包更新项目的构建后事件。
由于包含.targets文件的nuspec文件,我创建了一个包:
<file src="*.targets" target="build"/>
这是.targets文件:
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="AfterBuild" AfterTargets="Build" >
<Message Text="Hello World" Importance="high" />
</Target>
</Project>
实际上,当我安装软件包时会读取文件(如果我删除一些'&gt;',我就会出错)。 但是.csproj没有更新(因此,在后期构建事件文本框中没有任何内容)。
我错过了什么吗?
答案 0 :(得分:1)
我同意马特沃德的观点。从NuGet 2.5开始,NuGet识别出一个新的顶级文件夹:\ build。
在\ build文件夹中,您可以提供“.props”文件和/或 “.targets”文件将自动导入到项目中。 对于此约定,文件名必须与您的包ID 匹配 “.props”或“.targets”扩展名。
请参阅以下文档中的MSBuild集成部分:
http://blog.nuget.org/20130426/native-support.html
安装软件包后,您将在.csproj中看到导入package.targets文件的导入节点。然后在构建项目时,您将在输出窗口中看到“Hello World”文本。