簡體   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