68

我有一個VS 2008 C#Web項目,每當我對其中的文件進行一些更改(甚至不是項目文件本身)VS將刪除一些行像這從文件的csproj:VS 2008繼續刪除並重新添加<SubType> ASPXCodeBehind</SubType>

<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文件已經更改。在Google上有一點點挖掘,似乎這已經影響了少數幾個人!但沒有理由或解決方案,因爲我可以看到.. – Alex 2009-06-17 05:57:31

+0

同樣在這裏,這是目前發生在我身上 – Martin 2009-08-24 17:08:28

+1

發生在我身上。完全討厭。團隊中的兩個人有VS這樣做,而其他人不這樣做。看起來像修補程序中的某些內容正在執行此操作。沒有幫助,爲此我可以找到。 – jcollum 2010-09-17 16:43:57

回答

10

對我來說,差別取決於Web項目是否是在Visual Studio中打開。

我發現如果我將項目文件提交到版本控制,並且Visual Studio中打開的項目存在SubType元素。關閉解決方案/項目,然後從項目文件中刪除子類型元素。現在我總是確保在VS中關閉項目來執行提交,以避免對項目文件進行不必要的更改。

6

在VS2010上工作,並通過刪除solutionFileName.sln.DotSettings.user文件和solutionFileName.suo來解決此問題。這幫了我,試試看。

0

當在Tortoise SVN中提交項目更改時,這些行也出現在VS2012中的項目文件中。這個項目曾經是一個我轉換成Web應用程序的網站。

我可以使用下面的步驟,這需要關閉該項目,以繞過這個問題:承諾SVN

  1. 只是之前使用「BUILD>清理解決方案」清潔解決方案。
  2. 點擊「全部保存」按鈕保存項目文件。
  3. 使用Tortoise SVN提交更改。
  4. 繼續在項目上工作...