Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ILMerge到nuget包导致参数类型与使用项目不匹配的问题_C#_Dll_Namespaces_Ilmerge_Mismatch - Fatal编程技术网

C# ILMerge到nuget包导致参数类型与使用项目不匹配的问题

C# ILMerge到nuget包导致参数类型与使用项目不匹配的问题,c#,dll,namespaces,ilmerge,mismatch,C#,Dll,Namespaces,Ilmerge,Mismatch,我有一个服务dll,它引用了System.Web.OData(来自Microsoft.AspNet.OData.5.9.0) 服务dll有一个公开的方法,该方法接受OData.Delta 这个服务dll在编译时是合并的,所以它嵌入了这个“版本”的数据 现在,消费应用程序也有一个对同一OData的引用,但是,它来自一个corext、全球化缓存 但是,当使用应用程序尝试调用具有OData.Delta参数的方法时,它会抱怨无法从ConsumingApp.OData.Delta转换为ServiceDll

我有一个服务dll,它引用了System.Web.OData(来自Microsoft.AspNet.OData.5.9.0)

服务dll有一个公开的方法,该方法接受OData.Delta 这个服务dll在编译时是合并的,所以它嵌入了这个“版本”的数据

现在,消费应用程序也有一个对同一OData的引用,但是,它来自一个corext、全球化缓存

但是,当使用应用程序尝试调用具有OData.Delta参数的方法时,它会抱怨无法从ConsumingApp.OData.Delta转换为ServiceDll.OData.Delta

我该如何确保参数使用OData.Delta的实际正确“版本”,以便它们不会冲突


我似乎找不到像。。一个NameSpace.For.ServiceDll,使我能够专门针对嵌入在ilmerge中的OData.Delta

您必须安装ms OData client For visual studio创建一个新的OData客户端类,一个附加的http uri元数据反更正http。然后单击文件并运行自定义工具选项下载最新元数据

很抱歉,我知道odata架构存在问题。您暴露的错误,如果我理解得很好,您正在使用ilmerge来合并各种项目并再次引用合并的库。我认为:

  • 您可以添加带有姓氏的命名空间,例如:

    导入引用1=microsoft.data; 导入引用2=ilmerge

  • 因此,您可以在像reference1.class1和reference2.class1这样的代码中使用它们


    希望这对您有所帮助

    对不起,我看不出这是如何解决我的问题的。这与包含相同dll的ilmerged dll之间的类型不匹配有什么关系,因为应用程序使用此ilmerged dll,但也引用嵌入ilmerged dll中的匹配dll。。。