VS 2008一直在删除并重新添加<SubType>ASPXCodeBehind</SubType>

71

我有一个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中从未发生过,并且似乎只有我处理同一项目文件的其他开发人员没有这种情况。

有人知道为什么会这样发生以及我如何阻止它这样做吗?


1
多奇怪啊,这是我第一次遇到这种情况。昨晚我提交了我的解决方案,今天早上我的.csproj文件就变了。在谷歌上搜索了一下,似乎有少数人多年来都受到了这个问题的困扰!但是我还没有看到任何原因或解决方法。 - Alex
1
我有同样的问题,除了子类型元素不会再次添加。这也只发生在我身上,而不是团队中的任何其他开发人员身上。我在这里进行了讨论(http://social.msdn.microsoft.com/Forums/en-US/csharpide/thread/aadf38d2-3987-4d9d-80f8-6dc99bb5e0f0),希望我能得到一些答案。 - user152123
1
我也遇到了同样的问题。非常讨厌。团队中有两个人的VS会出现这种情况,而其他人则没有。看起来像是热补丁中的某些东西导致了这种情况。我找不到任何关于这个问题的帮助。 - jcollum
4
这种情况目前正在发生在我身上,但是我有Visual Studio 2010。 - Guillaume V
1
@PitzZh的回答可能会被删除。在此复制:“请在Microsoft Bug Report System for VS2017中为此错误投票。https://developercommunity.visualstudio.com/content/problem/389773/vs-2017-keeps-removing-and-re-adding-aspxcodebehin.html”。 - jww
显示剩余3条评论
4个回答

11

对我来说,区别在于Web项目是否在Visual Studio中打开。

我发现如果我在Visual Studio中打开项目并将项目文件提交到版本控制,那么SubType元素就会出现。关闭解决方案/项目后,将从项目文件中删除SubType元素。因此,现在我总是确保在VS中关闭项目后再执行提交,以避免对项目文件进行不必要的更改。


6

如果你在使用VS2010时遇到了问题,可以尝试删除solutionFileName.sln.DotSettings.user文件和solutionFileName.suo文件来解决。这对我很有帮助,你也可以试试。


4

1
谢谢,但是不,那并没有帮助 - 我每个受影响的文件中只有一个类(一个ASPX页面代码后台类)。 - EMP
1
我在使用VS 2015时遇到了同样的问题:https://connect.microsoft.com/VisualStudio/Feedback/Details/1650262 这个问题发生在有多个类的代码后台文件中。重新排列类可以解决这个问题(主页面/控件类应该在代码后台文件中排在第一位)。 - Vitaliy Shibaev

0

当使用Tortoise SVN提交项目更改时,这些行也会出现在VS2012的项目文件中。该项目曾经是一个网站,我将其转换为Web应用程序。

我能够通过以下步骤绕过此问题,而无需关闭项目:

  1. 在提交到SVN之前,使用“BUILD>清理解决方案”清理解决方案。
  2. 单击“全部保存”按钮以保存项目文件。
  3. 使用Tortoise SVN提交更改。
  4. 继续工作...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接