我有一个VS 2008 C#Web项目,每当我对其中的文件(甚至不对项目文件本身)进行一些更改时,VS都会从csproj文件中删除一些这样的行:
<SubType>ASPXCodeBehind</SubType>
所以像这样:
<Compile Include="Default.aspx.cs">
<DependentUpon>Default.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
会变成
<Compile Include="Default.aspx.cs">
<DependentUpon>Default.aspx</DependentUpon>
</Compile>
但是下次我在这个项目上工作时,它将添加这些行!它不断地来回移动,导致源代码控制系统中发生了许多无意义的“更改”。这在VS 2005中从未实现过,对于其他在同一个项目文件上工作的开发人员来说,这似乎并没有发生,仅对我而言。
有谁知道为什么会这样,我如何才能阻止它呢?
最佳答案
对我来说,区别取决于Web项目是否在Visual Studio中打开。
我发现如果我在Visual Studio中打开项目的情况下将项目文件提交到版本控制,则存在SubType元素。关闭解决方案/项目,然后从项目文件中删除SubType元素。现在,我始终确保在VS中关闭项目的情况下执行提交,以避免对项目文件进行不必要的更改。