MSBuild 社区任务的 Intellisense 不起作用

Posted

技术标签:

【中文标题】MSBuild 社区任务的 Intellisense 不起作用【英文标题】:Intellisense for MSBuild Community Tasks doesn't work 【发布时间】:2010-03-25 14:05:18 【问题描述】:

我正在使用 VS 2010 RC1。我下载 MSBuild 社区任务 (MCT) 并安装它。 (为了提供完整信息,我还安装了 MSBuild 扩展包)

然后,为了让 Intellisense 为 MCT 的任务工作,我将文件 C:\Program Files\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.xsd 复制到 C:\Program Files\Microsoft Visual Studio 10.0\ Xml\Schemas\1033\MSBuild\MSBuild.Community.Tasks.xsd

我启动 VS 并创建一个项目(构建)文件,如下所示:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
  <_
 </Project>

在开始输入 Target 时,我没有 Intellisense。

我尝试打开属性窗格,单击架构浏览按钮,添加文件 C:\Program Files\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.xsd 但 Intellisense 仍然无法正常工作!删除这个 shcema,Intellisense 恢复工作,当然,它只适用于 MCT 任务以外的其他任务。

有人遇到过和我一样的问题吗?请帮忙!

【问题讨论】:

我也在处理这个问题,似乎有一个循环引用,社区 .xsd 包含 Microsoft.Build.CommonTypes.xsd 而这是您应该为额外任务添加包含行的文件. 刚刚在 VS 2010 中遇到了同样的问题。 【参考方案1】:

您需要将以下行添加到C:\program files\Microsoft Visual Studio 10.0\Xml\Schemas\1033\Microsoft.Build.xsd

<xs:include schemaLocation="MSBuild\MSBuild.Community.Tasks.xsd"/>

应该放在文件末尾,&lt;/xs:schema&gt;之前

【讨论】:

这解决了您的问题吗?因为在我发布这个之后,我检查了我的 VS2010,我也没有任何 msbuild 文件的智能感知。它突出显示命名空间,说明命名空间中有错误。【参考方案2】:

我使用的是 VS2008,并且我手动将 MSBuild 社区任务架构文件 (.xsd) 复制到了正确的 Visual Studio 目录中。但是,这还不足以让我的社区任务在 Intellisense 中注册。

我必须在 Visual Studio 中打开 .csproj 文件,然后转到“XML”菜单并选择“架构...”。 MSBuild 社区架构文件不在任何列表中,因此我单击“添加”,然后添加了该文件。一旦我这样做并关闭对话框,中提琴!我对社区任务有智能感知。

我的灵感来自this posting on MDSN

【讨论】:

【参考方案3】:

当我第一次开始使用 VS 2010 RC1 时,我遇到了同样的问题。我重新安装了它,它工作了一段时间并停止了。

我已经下载并安装了VS 2010 Pro的试用版Download Here

从那以后我没有遇到任何问题。

【讨论】:

我在发布这个问题时确实使用了 VS 2010。这很奇怪......我会再检查一次。

以上是关于MSBuild 社区任务的 Intellisense 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在Visual Studio中的MSBuild社区任务BeforeBuild步骤期间找不到路径中的xsd.exe

MSBuild - 一个包参考会干扰加载单独的任务

MSBuild 任务,如何删除嵌套目录?

预构建 MSBuild 任务以更新与构建的 exe 不同步的 AssemblyInfo

参数值中的 msbuild 任务条件运算符

为啥 Msbuild 任务无法部署数据库,但 Exec 工作正常