提问人:scott-pascoe 提问时间:12/25/2012 最后编辑:Communityscott-pascoe 更新时间:3/1/2014 访问量:8574
错误:目标“GatherAllFilesToPublish”在项目中不存在,但位于 v10.5 文件夹中
Error: The Target "GatherAllFilesToPublish" does not exist in the project, but is in v10.5 folder
问:
我一直在这个问题上兜兜转转。我有一个在 VS2010 SP1 中构建的 ASP.NET MVC 3 Web 应用程序。当我尝试发布到本地文件系统时,出现错误
目标“GatherAllFilesToPublish”在项目中不存在。
它失败了。我遵循了为什么出现错误“目标 GatherAllFilesToPublish 不存在”中描述的答案?但它不能解决我的问题。
我已经安装了适用于 VS2010 的 Azure SDK 1.8(2012 年 10 月),试图让我的系统恢复工作。通过此安装,我在 MSBuild 树中看到以下文件/文件夹。
Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Targets,日期为 2011 年 1 月 18 日。
此文件未提及“GatherAllFilesToPublish”
安装 Azure SDK 后,我有另一个文件/文件夹:
Microsoft\VisualStudio\v10.5\Web\Microsoft.Web.Publishing.Targets,日期为 2012 年 9 月 27 日。
此文件包含“GatherAllFilesToPublish”目标。
显然,我在 VS2010 中的发布函数没有使用 v10.5 文件夹的目标。有没有人对解决这个问题有任何建议?
谢谢
答:
答案是......
在过去的某个时候,该项目已被编辑为包含 msbuild 文件夹的本地副本,而我已经忘记了它。我使用 sysinternals 的 procmon 来查找文件访问权限,它只在我的项目下引用了 msbuild。
这样,我重命名了文件夹,编辑了 csproj 文件以删除 MSBuildExtensionsPath32 的本地化引用,然后重新加载了项目。
我能够成功发布我的应用程序。
评论