visual-studio - studio免費 - visual studio教學




如何將現有的目錄樹添加到Visual Studio中的項目中? (7)

複製和粘貼

要添加文件夾,所有子目錄和文件,我們也可以復制和粘貼。 例如,我們可以:

  1. 在文件夾的Windows資源管理器中右鍵單擊,然後在包含許多文件和文件夾的文件夾上複製。

  2. 然後在Visual Studio解決方案資源管理器中,右鍵單擊目標文件夾並單擊粘貼。

  3. 可選添加到TFS; 然後在頂部文件夾中右鍵單擊並檢入TFS以檢入所有子文件夾和文件。

這個問題很簡單。 我不是在Visual Studio中創建文件夾,而是在文件系統上為我的項目創建一個目錄結構。 如何在項目中包含所有文件夾和文件,保持結構?

如果我在名為Services的文件夾中添加“現有文件”,然後導航到目錄結構中的文件.. Services> AccountManagement> CreateAccount.cs,它將顯示在Visual Studio中,如下所示:Services> CreateAccount.cs。 我不想要這個。

我已經制定了一個完整的目錄結構,因為我模仿我們的客戶開發人員使用相同的組織結構。 如何將所有文件夾和文件添加到Visual Studio中的項目中? 或者我必須做大多數微軟用戶所做的工作,並“忍耐”並通過Visual Studio重新創建每個文件夾?


你需要把你的目錄結構放在你的項目目錄中。 然後點擊解決方案資源管理器工具箱頂部的“顯示所有文件”圖標。 之後,添加的目錄將顯示出來。 然後您需要選擇該目錄,右鍵單擊並選擇“包含在項目中”。


在Visual Studio 2015中,這是你如何做到的。

如果您想自動將所有後代文件包含在特定文件夾下:

<Content Include="Path\To\Folder\**" />

這可以限制為僅包含指定路徑內的文件:

<Content Include="Path\To\Folder\*.*" />

甚至只有具有指定擴展名的文件:

<Content Include="Path\To\Folder\*.jpg" >

參考: http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio : http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio


在Visual Studio 2017中,您可以在解決方案視圖文件夾視圖之間來回切換。 我認為這是一個更好的選擇,因為它會保持解決方案更清潔。 我用它來編輯.gitignore,.md文件等。


您可以使用符號鏈接。 這使得修改一個項目中的文件在另一個項目中修改它(因為它實際上是同一個文件)。

去做這個:

  1. 以管理員身份打開cmd提示
  2. mklink / d [當前項目目錄名稱] [應指向的其他項目中的目錄]

這有它的缺點和缺陷,但我偶爾會用它來重複需要不同名稱的庫。

編輯Anoop:添加到Visual Studio的步驟:

  1. 使用上述步驟在項目文件夾中創建鏈接。
  2. 在Visual Studio中...在Solution Explorer中選擇項目。
  3. 在解決方案資源管理器的頂部...單擊顯示所有文件按鈕(如果已激活,可能需要點擊兩次)。
  4. 該鏈接現在將顯示在您的項目中...右鍵單擊並選擇包含在項目中。

這些是我遵循的步驟,適用於幾個不同的項目。


我想我找到了一種方法來編譯包含=“。\ Code ***。cs”。我想要的是在代碼文件夾下遞歸地包含代碼。

這是項目文件示例。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0" DefaultTargets="BuildTarget">
    <PropertyGroup>
        <OutputType>Library</OutputType>
    </PropertyGroup>
    <PropertyGroup>
        <StartupObject />
    </PropertyGroup>
    <PropertyGroup>
        <RootNamespace>Autogen</RootNamespace>
    </PropertyGroup>
    <ItemGroup>
        <Compile Remove="@(Compile)" />
        <Compile Include=".\Code\**\*.cs" />
    </ItemGroup>
    <Target Name="BuildTarget">
        <Message Text="Build selected" Importance="high"/>
    </Target>
</Project>

要擴展雨辰的答案 ,你可以包含文件和路徑作為鏈接。 這與添加現有項目不同,因為它不會在項目的文件夾結構中創建額外的副本。 如果你想要在許多不同的地方使用一個規範的文件夾/文件等,但你只想維護一個版本/副本,這很有用。

以下是可以添加到*.csproj文件以創建鏈接的示例

<Compile Include="$(Codez)\z.Libraries\Common\Strings\RegexExtensions.cs">
    <Link>Helpers\RegexExtensions.cs</Link>
</Compile>

<Compile Include="..\..\z.Libraries\MoreLINQ\MoreLinq\ExceptBy.cs">
    <Link>Helpers\ExceptBy.cs</Link>
</Compile>

<Content Include="C:\Codez\Libs\Folder\OtherFolder\**\*.*">
    <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

$(Codez)是我定義的Windows環境變量,您可以使用內置環境變量以相同的方式。

最後一個示例組是我在最終輸出中需要的一組內容文件。 有關詳情,請參閱https://.com/a/11808911/492以及其他答案和鏈接。

https://msdn.microsoft.com/en-us/library/bb629388.aspx更多MSBuild信息





visual-studio