2016-12-14 29 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文件和新类文件挂起。将一起提交