c# - Visual Studio 2013中的“包含在項目中”奇怪的數據集行為




visual-studio visual-studio-2013 (2)

我想做一個非常簡單的事情:將VS13中的一些代碼從一個項目移到另一個項目,而我正面臨數據集的奇怪問題。 為了簡單起見,假設在我的源項目中,我有一個名為MyDataSet數據集,它由5個文件組成: MyDataSet.csMyDataSet.Designer.csMyDataSet.xscMyDataSet.xsdMyDataSet.xss

然後,我使用標準的窗口功能將這些文件複製到我的目標項目文件夾,並使用VS13中的Include in Project菜單選項。 之後,我看到一個額外的文件被添加: MyDataSet1.Designer.cs

我試圖檢查cproj文件,他們是不同的。

來源(只顯示與目標不同的部分):

<Compile Include="MyDataSet.Designer.cs">
  <AutoGen>True</AutoGen>
  <DesignTime>True</DesignTime>
  <DependentUpon>MyDataSet.xsd</DependentUpon>
</Compile>

<None Include="MyDataSet.xsd">
  <SubType>Designer</SubType>
  <Generator>MSDataSetGenerator</Generator>
  <LastGenOutput>MyDataSet.Designer.cs</LastGenOutput>
</None>

目標(僅顯示與源不同的部分):

<Compile Include="MyDataSet.Designer.cs">
  <DependentUpon>MyDataSet.cs</DependentUpon>
</Compile>

<Compile Include="MyDataSet1.Designer.cs">
  <AutoGen>True</AutoGen>
  <DesignTime>True</DesignTime>
  <DependentUpon>MyDataSet.xsd</DependentUpon>
</Compile>

<None Include="MyDataSet.xsd">
  <Generator>MSDataSetGenerator</Generator>
  <LastGenOutput>MyDataSet1.Designer.cs</LastGenOutput>
  <SubType>Designer</SubType>
</None>

另外我注意到,在MyDataSet.csMyDataSet1.Designer.cs名稱空間自動更改為正確的。

我使用ReSharper,首先我認為這可能是一個原因,但我禁用ReSharper和相同的行為繼續發生。

也許我可以通過刪除新創建的文件和修改cproj文件來解決這個問題,但實際上有很多數據集需要復制,我真的不喜歡這樣的工作。

有沒有人有任何想法可以成為這樣的問題的原因,如何解決?


右鍵單擊解決方案資源管理器中的數據集根節點(通常為.xsd)並選擇“複製”,然後右鍵單擊目標項目或項目文件夾,然後選擇“粘貼”,從而在Visual Studio中移動數據集。 這應該複製文件並正確標記csproj文件。


像你一樣使用Windows功能複製文件。 但是,不要使用“Include in Project”手動編輯記事本中的新.csproj文件,以包含與舊.csproj文件中顯示的行完全相同的行。 然後,當你的項目刷新你應該全部設置。





dataset