我想做一件非常简单的事情:将VS13中的一些代码从一个项目移到另一个项目中,我面临着数据集的奇怪问题。为简单起见,我想在我的源项目中有一个名为MyDataSet
的数据集,它由5个文件组成:MyDataSet.cs
,MyDataSet.Designer.cs
,MyDataSet.xsc
,MyDataSet.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
文件来解决这个问题,但实际上我需要复制很多数据集,而且我真的不喜欢这种工作。
有没有人有任何想法可能是这种问题的原因以及如何解决?
答案 0 :(得分:5)
通过右键单击解决方案资源管理器中的数据集根节点(通常为.xsd)并选择“复制”,从Visual Studio中移动数据集,然后右键单击目标项目或项目文件夹并选择“粘贴”。这应该复制文件并正确标记csproj文件。
答案 1 :(得分:2)
像您一样使用Windows功能复制文件。但是,而不是使用&#34; Include in Project&#34;手动编辑记事本中的新.csproj文件,以包含与旧.csproj文件中显示的完全相同的行。然后,当您的项目刷新时,您应该全部设置。