【发布时间】:2015-05-04 03:46:33
【问题描述】:
恐怕我问的是一个非常愚蠢的问题,但我似乎找不到任何可以说明这一点的东西。我通常处理较小的应用程序,但现在正在处理一个较大的应用程序,其中包含基线框架中的多个程序集和产品线域的多个程序集(未来还会有更多程序集)。我想通过配置 MSBuild 来管理构建。我做了很多在线研究(特别是我发现的几篇 MSDN 文章),现在我觉得知识渊博到危险的程度。
我了解在 csharp 中可以卸载 *.csproj 文件并使用属性、项目和目标进行修改以控制构建过程。我也明白我可以导入自己的目标文件来帮助分离和组织。不过,在此链接 (https://msdn.microsoft.com/en-us/magazine/dd483291.aspx) 中,多级项目构建是使用节点级 dirs.proj 文件组织的。这让我感到困惑,并提出了几个我似乎无法找到答案的问题:
- *.proj 和 *.csproj 文件有什么区别?
- 可以在 VS 中设置 *.proj 以在使用 F6 构建时加载,还是仅需要使用命令提示符? (即“msbuild dirs.proj /t:Build”)。
- dirs.proj 会自动加载吗?如果是这样,我的 study-by 工作不正常,但它在命令提示符下工作。
- 或者我是否忽略了“dirs.proj”的某些内容,也许它只是项目 *.csproj 文件之一的替代名称?如果是这种情况,尽管不需要根节点的 dirs.proj ,据我所知,它没有与之关联的实际项目。
无论如何,我已经在几个论坛中看到有关问题的 dirs.proj,但是我在哪里可以找到它是如何在 VS 中加载或使用的(在手动命令提示符构建之外,如果用于组织构建,这似乎是不合理的但构建不会真正花费大量时间)。我希望有人可以帮助我实现这一点。
提前致谢。
【问题讨论】:
-
没有根本区别,因为它们只是 msbuild 文件。 visual studio 查看某些元数据/属性并确定如何加载它。
-
那你如何将它集成或设置它与 VS 解决方案来构建?那么“dirs.proj”是否只是配置大型构建的“源树”方法的常用命名法?
-
这取决于它包含的内容。
-
嗯...使用项目模板?我会试一试,然后告诉你。
标签: c# visual-studio-2013 msbuild