我們有多個開發人員在同一個項目上工作。我們都會根據數據庫條目不斷添加要引用的其他類。所以我們現在有幾百個班。我所看到的是,如果我創建CLASSA並且其他人執行Get Latest,則CLASSA不會被添加到該人員的解決方案資源管理器(項目)中,而是會轉移到該人員的編碼文件夾中。他們必須手動進入並添加/存在到他們的項目中。TFS關於維護項目和添加類的建議
這是TFS的正確/預期功能嗎?
感謝
我們有多個開發人員在同一個項目上工作。我們都會根據數據庫條目不斷添加要引用的其他類。所以我們現在有幾百個班。我所看到的是,如果我創建CLASSA並且其他人執行Get Latest,則CLASSA不會被添加到該人員的解決方案資源管理器(項目)中,而是會轉移到該人員的編碼文件夾中。他們必須手動進入並添加/存在到他們的項目中。TFS關於維護項目和添加類的建議
這是TFS的正確/預期功能嗎?
感謝
原因是你沒有簽入或推送項目文件的改變到源代碼管理,它會在項目文件的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>
對於那種情況下,我建議讓一個用戶(例如開發經理)來添加必要的類項目時,新表添加到數據庫,而不是多個開發人員添加他們想要的課程,否則嘿,需要處理衝突時檢查或獲取最新的文件。
這是TFS的正確/預期的功能?
取決於您如何將CLASSA添加到項目中。
CLASSA似乎被添加到TFS併成爲變更集的一部分,但.csproj(或.vbproj)變更未成爲變更集的一部分。你如何將新文件CLASSA添加到項目中?如果您使用Solution Explorer添加新項目(右鍵單擊project | Add |(New Item ...或Class ...),VS會自動將更改proj文件和新類文件掛起。將一起提交
CLASSA似乎被添加到TFS併成爲變更集的一部分,但.csproj(或.vbproj)更改未成爲變更集的一部分。你如何將新文件CLASSA添加到項目中?如果您使用Solution Explorer添加新項目,VS會自動將更改proj文件和新類文件。 – WiSeeker
解決方案中每個新添加或刪除的文件都會更新相應項目的'.csproj'文件。這個文件是非常重要的,因爲它包含了項目所有文件的所有條目。所以你需要確保檢查這個文件。 –
他們不需要檢查'.csproj'也?否則,下一個嘗試向項目添加類的人將無法訪問,因爲它仍然會被檢出。 – Sam07