我正在使用WSDL开发一个项目,该项目使用XSD文件生成C#类。 WSDL未指定XSD文件中概述的所有类,因此我需要在使用WSDL进行的调用中包括其中的一些类。我可以在XSD文件上使用XML架构定义工具来生成所需的其余类,但是由于依赖关系,生成的文件包含在使用WSDL时也会生成的类。
两个.cs文件(由WSDL生成的参考文件和XSD工具生成的文件)中有数百个重叠的类,因此,当使用using将这两个文件导入到项目中时,就会发生冲突。有没有办法解析两个.cs文件并查找重叠的类?最终,我想删除重叠的那些或将不重叠的那些复制到reference.cs中,以便使用我缺少的类。
作为示例,假设以下类是由WSDL从某些XSD文件生成的,我们将其称为FromWSDL.cs:
namespace SomeXSDDefinedName
{
class Fleet
{
List<Car> Cars { get; set; }
}
class Car
{
string Make { get; set; }
}
}
现在,我需要利用来自不同XSD的某些类,这些类引用了WSDL所执行的某些相同的类/ XSD文件。因此,如果我使用XML架构定义工具从XSD生成C#类,那么最终得到的是这样的文件,我们将其命名为FromXSD.cs:
namespace SomeXSDDefinedName
{
class Fleet
{
List<Car> Cars { get; set; }
}
class Car
{
string Make { get; set; }
}
class Truck
{
int Payload { get; set; }
}
class Driver
{
Car Car { get; set; }
}
}
我想要的是一种以编程方式(脚本或其他方式)查找FromXSD.cs文件中存在的类的方法,该类不存在于FromWSDL.cs文件中,然后将它们输出到单独的文件或FromWSDL中。 CS文件。在这种情况下,请使用FromXSD.cs文件中的Truck and Driver。因为它们是由WSDL或XSD工具从某些相同的XSD文件生成的,所以每个文件都具有相同的名称空间和类名,因此无法通过using向两个文件添加引用。