"包含在项目中"VisualStudio 2013中数据集的奇怪行为

Ale*_*nov 14 c# dataset visual-studio visual-studio-2013

我想做一个非常简单的事情:将VS13中的一些代码从一个项目移动到另一个项目,我面临数据集的奇怪问题.为简单起见,让我们说,在我的源代码的项目,我有一个名为一个数据集MyDataSet,其由来自5个文件:MyDataSet.cs,MyDataSet.Designer.cs,MyDataSet.xsc,MyDataSet.xsd,MyDataSet.xss.

然后我使用标准Windows功能将这些文件复制到目标项目文件夹,并使用Include in ProjectVS13中的菜单选项.之后我看到添加了一个额外的文件: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>
Run Code Online (Sandbox Code Playgroud)

目标(仅显示与源不同的部分):

<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>
Run Code Online (Sandbox Code Playgroud)

此外,我注意到in MyDataSet.csMyDataSet1.Designer.cs名称空间自动更改为正确的.

我正在使用ReSharper,首先我认为这可能是一个原因,但我禁用了ReSharper,同样的行为继续发生.

可能我可以通过删除新创建的文件和修改cproj文件来解决这个问题,但实际上我需要复制很多数据集,我真的不喜欢这种工作.

有没有人有任何想法可能是这样的问题的原因,如何解决?

小智 5

通过右键单击解决方案资源管理器中的数据集根节点(通常为.xsd)并选择"复制",然后右键单击目标项目或项目文件夹并选择"粘贴",从Visual Studio中移动数据集.这应该复制文件并正确标记csproj文件.