“包含在项目中”Visual Studio 2013中数据集的奇怪行为

时间:2015-04-13 15:43:00

标签: c# visual-studio visual-studio-2013 dataset

我想做一件非常简单的事情:将VS13中的一些代码从一个项目移到另一个项目中,我面临着数据集的奇怪问题。为简单起见,我想在我的源项目中有一个名为MyDataSet的数据集,它由5个文件组成:MyDataSet.csMyDataSet.Designer.csMyDataSet.xscMyDataSet.xsd,{ {1}}。

然后我使用标准Windows功能将这些文件复制到目标项目文件夹,并在VS13中使用MyDataSet.xss菜单选项。之后,我看到添加了一个额外的文件: 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.cs名称空间自动更改为正确名称空间。

我正在使用ReSharper,首先我认为这可能是原因,但我disabled ReSharper并且同样的行为继续发生。

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

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:2)

像您一样使用Windows功能复制文件。但是,而不是使用&#34; Include in Project&#34;手动编辑记事本中的新.csproj文件,以包含与旧.csproj文件中显示的完全相同的行。然后,当您的项目刷新时,您应该全部设置。