visual-studio - studio免費 - visual studio教學
如何將現有的目錄樹添加到Visual Studio中的項目中? (7)
複製和粘貼 。
要添加文件夾,所有子目錄和文件,我們也可以復制和粘貼。 例如,我們可以:
在文件夾的Windows資源管理器中右鍵單擊,然後在包含許多文件和文件夾的文件夾上複製。
然後在Visual Studio解決方案資源管理器中,右鍵單擊目標文件夾並單擊粘貼。
可選添加到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
您可以使用符號鏈接。 這使得修改一個項目中的文件在另一個項目中修改它(因為它實際上是同一個文件)。
去做這個:
- 以管理員身份打開cmd提示
- mklink / d [當前項目目錄名稱] [應指向的其他項目中的目錄]
這有它的缺點和缺陷,但我偶爾會用它來重複需要不同名稱的庫。
編輯Anoop:添加到Visual Studio的步驟:
- 使用上述步驟在項目文件夾中創建鏈接。
- 在Visual Studio中...在Solution Explorer中選擇項目。
- 在解決方案資源管理器的頂部...單擊顯示所有文件按鈕(如果已激活,可能需要點擊兩次)。
- 該鏈接現在將顯示在您的項目中...右鍵單擊並選擇包含在項目中。
這些是我遵循的步驟,適用於幾個不同的項目。
我想我找到了一種方法來編譯包含=“。\ 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信息