"Включить в проект" странное поведение для набора данных в VisualStudio 2013

Я хочу сделать очень просто: переместите некоторый код в VS13 из одного проекта в другой, и я столкнулся с странной проблемой с наборами данных. Для простоты скажем, что в моем исходном проекте у меня есть один набор данных с именем MyDataSet, который состоит из 5 файлов: MyDataSet.cs, MyDataSet.Designer.cs, MyDataSet.xsc, MyDataSet.xsd, MyDataSet.xss.

Затем я копирую эти файлы в папку проекта назначения, используя стандартные функции Windows, и использую опцию Include in Project в VS13. После этого я вижу, что добавлен один дополнительный файл: 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.cs и MyDataSet1.Designer.cs пространства имен были автоматически изменены на правильные.

Я использую ReSharper, и сначала я подумал, что это может быть причиной этого, но я отключил ReSharper, и такое же поведение продолжает происходить.

Возможно, я могу исправить это, удалив вновь созданные файлы и изменив файлы cproj, но на самом деле есть много наборов данных, которые мне нужно скопировать, и мне действительно не нравится эта работа.

Есть ли у кого-нибудь идеи, что может быть причиной такой проблемы и как ее можно решить?

Ответы

Ответ 1

Переместите набор данных из Visual Studio, щелкнув правой кнопкой мыши корень набора данных node в обозревателе решений (обычно это .xsd) и выбрав "Копировать", а затем щелкните правой кнопкой мыши папку проекта проекта или проекта и выберите "Вставить". Это должно скопировать файлы и правильно разделить файлы csproj.

Ответ 2

Скопируйте файлы с помощью окон, как и вы. Однако вместо того, чтобы использовать "Включить в проект", вручную отредактируйте новый файл .csproj в блокноте, чтобы включить строки точно так, как они отображаются в старом файле .csproj. Затем, когда ваш проект обновится, вы должны быть установлены.