首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从具有相对文件路径的另一个msbuild项目导入msbuildcommunitytasks项目?

如何从具有相对文件路径的另一个msbuild项目导入msbuildcommunitytasks项目?
EN

Stack Overflow用户
提问于 2010-01-22 15:04:10
回答 5查看 11.9K关注 0票数 9

请轻松,我是新的msbuild和msbuildtasks!

如何设置表示要导入的目标文件的相对文件路径的属性?我需要相关的参考资料,这样它就能在所有的开发机器上工作。但是导入的目标是试图在内部使用相对文件路径,这将不能工作,因为它是相对于导入的目标重新评估的!

实际上,我试图围绕导入项目的记录在案的行为进行工作:

导入项目中的所有相对路径都会相对于导入项目的目录进行解释。因此,如果将一个项目文件导入到不同位置的多个项目文件中,则导入的项目文件中的相对路径将对每个导入的项目进行不同的解释。

EN

回答 5

Stack Overflow用户

发布于 2010-01-22 15:44:22

没有安装就可以使用MSBuild扩展包吗?也有类似的问题。这个问题是如何对MSBuild扩展包做同样的事情,两者在这方面是相似的。对于扩展包,必须声明属性ExtensionTasksPath,,对于社区任务,必须声明名为MSBuildCommunityTasksLib.的类似属性所以在你的例子中,应该是这样的:

代码语言:javascript
复制
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <MSBuildCommunityTasksLib Condition="'$(MSBuildCommunityTasksLib)' == ''">E:\Data\Development\My Code\Community\MSBuild\CommunityTasks\</MSBuildCommunityTasksLib>
  </PropertyGroup>

  <Import Project="$(MSBuildCommunityTasksLib)MSBuild.Community.Tasks.Targets"/>

  <Target Name="Demo">
    <!-- Use the tasks here -->
  </Target>

</Project>
票数 15
EN

Stack Overflow用户

发布于 2011-10-11 14:12:36

@Sayed Ibrahim Hashimi

谈到MSBuild4,仅仅声明MSBuildCommunityTasksLib是不够的,因为如果您检查MSBuild.Community.Tasks.Targets文件,则属性声明如下

代码语言:javascript
复制
<PropertyGroup>
    <MSBuildCommunityTasksPath Condition="'$(MSBuildCommunityTasksPath)' == ''">$(MSBuildExtensionsPath)\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
    <MSBuildCommunityTasksLib>$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll</MSBuildCommunityTasksLib>
  </PropertyGroup>

因此,如果您只遍历MSBuildCommunityTasksLib,它将再次在MSBuild.Community.Tasks.Targets文件中被重写,因为它没有条件,所以您还必须重写MSBuildCommunityTasksPath,这样它的提前性不是从MSBuildExtensionsPath设置的,而是从您的自定义路径设置的。如果我错了,请告诉我

票数 5
EN

Stack Overflow用户

发布于 2010-01-22 17:00:08

这似乎是一个答案:

http://social.msdn.microsoft.com/forums/en-US/msbuild/thread/feb782e3-72ae-4476-9011-617796f217b6

但这(如果我正确理解的话)似乎是一个荒谬的解决方案。要获得工作路径,我需要更改导入的项目引用?如果我想在另一个文件夹中引用从第三个项目导入的项目,会发生什么?!?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2118102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档