"Включить в проект" странное поведение для набора данных в 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. Затем, когда ваш проект обновится, вы должны быть установлены.