所以这个article讨论了使用XSD和LINQ处理XML数据的一种很棒的方法。这一切都很好玩,但author claims他不再对在CodePlex上维护项目感兴趣。此外,CS项目文件的NuGet包requires manual edit
<LinqToXsdBinDir Condition="'$(LinqToXsdBinDir)' == ''">$(SolutionDir)\LinqToXSD\</LinqToXsdBinDir>
将添加到PropertyGroups
(构建/发布)中的每一个。那么为什么微软会离开呢?
LinqToXsdSchema
作为VS 2013中的构建操作?这个构建操作还有其他用途吗?
答案 0 :(得分:1)
为什么要声称微软会这么做?我不知道他们是如何参与其中的。如果在项目文件中定义了操作或项目所依赖的目标文件,则会显示该操作。这就是MsBuild的工作原理。 <Import Project="$(LinqToXsdBinDir)\LinqToXsd.targets" />
是将Build Action添加到下拉列表中的内容。
准确地说:
<!-- This ItemGroup is needed to make sure that LinqToXsdSchema and LinqToXsdConfiguration are available in VisualStudio-->
<ItemGroup>
<AvailableItemName Include="LinqToXsdSchema" />
<AvailableItemName Include="LinqToXsdConfiguration" />
</ItemGroup>
你可以view the targets file here。
从项目中删除.targets文件,并删除提及&#34; LinqToXsdSchema&#34;来自项目文件中的项目。它也可能在您的本地MsBuild文件夹中注册并自动加载所有项目,在这种情况下从您的MsBuild安装中删除.targets文件。
当然,构建操作没有用处,除非有其他工具为操作选择了相同的名称。