我的CSProj文件中包含以下代码:
<UsingTask TaskName="HelloWorld" TaskFactory="CodeTaskFactory"
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<Task>
<!--Microsoft.Build.dll-->
<Using Namespace="Microsoft.Build.Evaluation" />
<Code Type="Fragment" Language="cs">
<![CDATA[
var p = new Project("$(MSBuildProjectFullPath)");
]]>
</Code>
</Task>
</UsingTask>
在我的AfterBuild中,我这样称呼它:
<Target Name="AfterBuild">
<HelloWorld />
</Target>
我得到的错误是:
错误CS0246:找不到类型或名称空间名称“项目”(您是否缺少using指令或程序集引用?)
指代var p =新项目
在任务中包含Microsoft.Build参考可以解决该问题。(首先需要将Microsoft.Build.dll参考添加到您的项目中)
<Task>
<Reference Include="Microsoft.Build"/>
<Using Namespace="Microsoft.Build.Evaluation" />
<Code Type="Fragment" Language="cs">
<![CDATA[
var p = new Project("$(MSBuildProjectFullPath)");
]]>
</Code>
</Task>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句