2016-12-14 60 views
0

我們有多個開發人員在同一個項目上工作。我們都會根據數據庫條目不斷添加要引用的其他類。所以我們現在有幾百個班。我所看到的是,如果我創建CLASSA並且其他人執行Get Latest,則CLASSA不會被添加到該人員的解決方案資源管理器(項目)中,而是會轉移到該人員的編碼文件夾中。他們必須手動進入並添加/存在到他們的項目中。TFS關於維護項目和添加類的建議

這是TFS的正確/預期功能嗎?

感謝

+2

CLASSA似乎被添加到TFS併成爲變更集的一部分,但.csproj(或.vbproj)更改未成爲變更集的一部分。你如何將新文件CLASSA添加到項目中?如果您使用Solution Explorer添加新項目,VS會自動將更改proj文件和新類文件。 – WiSeeker

+0

解決方案中每個新添加或刪除的文件都會更新相應項目的'.csproj'文件。這個文件是非常重要的,因爲它包含了項目所有文件的所有條目。所以你需要確保檢查這個文件。 –

+0

他們不需要檢查'.csproj'也?否則,下一個嘗試向項目添加類的人將無法訪問,因爲它仍然會被檢出。 – Sam07

回答

1

原因是你沒有簽入或推送項目文件的改變到源代碼管理,它會在項目文件的ItemGroup中添加Compile部分,然後VS就可以識別出這個類文件是包括在項目中。

<ItemGroup> 
    <Compile Include="App_Start\BundleConfig.cs" /> 
    <Compile Include="App_Start\FilterConfig.cs" /> 
    <Compile Include="App_Start\IdentityConfig.cs" /> 
    <Compile Include="App_Start\RouteConfig.cs" /> 
    <Compile Include="App_Start\Startup.Auth.cs" /> 
    <Compile Include="Controllers\AccountController.cs" /> 
    <Compile Include="Controllers\HomeController.cs" /> 
    <Compile Include="Controllers\ManageController.cs" /> 
    <Compile Include="Global.asax.cs"> 
     <DependentUpon>Global.asax</DependentUpon> 
    </Compile> 
    <Compile Include="Models\AccountViewModels.cs" /> 
    <Compile Include="Models\IdentityModels.cs" /> 
    <Compile Include="Models\ManageViewModels.cs" /> 
    <Compile Include="Models\UserInfo.cs" /> 
    <Compile Include="Properties\AssemblyInfo.cs" /> 
    <Compile Include="Startup.cs" /> 
    </ItemGroup> 

對於那種情況下,我建議讓一個用戶(例如開發經理)來添加必要的類項目時,新表添加到數據庫,而不是多個開發人員添加他們想要的課程,否則嘿,需要處理衝突時檢查或獲取最新的文件。

2

這是TFS的正確/預期的功能?

取決於您如何將CLASSA添加到項目中。

CLASSA似乎被添加到TFS併成爲變更集的一部分,但.csproj(或.vbproj)變更未成爲變更集的一部分。你如何將新文件CLASSA添加到項目中?如果您使用Solution Explorer添加新項目(右鍵單擊project | Add |(New Item ...或Class ...),VS會自動將更改proj文件和新類文件掛起。將一起提交