繁体   English   中英

为什么VS2010允许“包含在项目中”的概念?

[英]Why does VS2010 allow for the concept of “include in project”?

我还在学习VS2010如何看世界的基础知识。 显然,您可以选择“包含”项目中的文件。 我有点困惑:如果文件是版本控制的,并且文件在项目目录中,那么它是否应该隐含地“包含”在项目中? 如果没有,项目目录中的版本控制文件不应该包含在项目中的用例是什么?

===加法===

根据我到目前为止得到的答案,也许我应该重新提出一个问题:文件被“包含”在项目中意味着什么?

不,您不希望碰巧在源代码管理中包含的项目目录中的随机文件。

项目需要了解文件才能进行编译和分发。 仅仅因为你有一个源代码控制的文件,并不意味着如果项目没有意识到它将被编译。

此外,您可能希望将文件包含在分发包的一部分中。 对于我们使用Web应用程序库分发的Web项目,我们经常这样做。

相反,您可以拥有版本控制的文档或SQL脚本,但不希望它们成为项目的一部分。

编辑:为了回应您的更新,文件包含在项目中的意思是该文件实际上已添加到.csproj.vbproj文件中,并将在编译和/或分发期间使用。 如果文件是Content或者需要Compile它,VS会区分。 通过单击解决方案资源管理器中的文件并查看“ Build Action属性,可以看到这一点。

我们有时会在项目文件夹和版本控制下放置文档(pdf)或图纸/原理图,但是在visual studio项目中你不需要它们(特别是当它们没有被分发时,因为它们仅供内部使用)。

如果文件与项目相关但在解决方案中不一定需要,则从项目中排除文件会很有用。

示例如果我需要为我正在编写的应用程序提供一些测试XML; 通常是从WCF服务中提取它,将该文件保存在我使用IO获取XML进行测试的开发环境的目录中会很有用,但我不一定要在我的解决方案中使用它这是源控制的。

当您从项目中排除文件不再编译或嵌入时,如果您想再次包含它,您可以这样做而不会丢失您的设置。

如果您将文件(包含想要在项目中使用的有用课程)复制到项目的文件夹中,那么您将看到......没有。 您必须检查解决方案资源管理器的“显示所有文件”选项,并且可以看到复制的文件,但它仍然“灰显”。 不,您可以选择菜单项包含在项目中 ,该文件将集成到您的项目中,并且还会添加源控件的挂起更改(添加)。 Visual Studio不会将项目文件夹中可以找到的所有文件自动包含到项目中 - 这是一个很好的功能。

我的一位同事向我解释了一个版本控制文件不应该成为项目一部分的场景。 这是个主意:

  • 开发人员编写一些新代码。
  • 代码是实验性的,并不打算成为正常构建的一部分。
  • 从构建中排除文件的最简单方法是不将它包含在项目中,但仍然对其进行版本控制。
  • 这样,该文件可以与其他开发人员共享,但不会破坏构建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM