在我的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:无法找到类型或命名空间名称“项目”(您是缺少使用指令还是程序集引用?)
参考var p=新的项目
发布于 2016-09-17 03:02:45
在任务中包含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>https://stackoverflow.com/questions/39538266
复制相似问题