2009-11-17 54 views
0

的在我的应用程序的烦恼,我用一些DLL,让我们说library.dll,版本1.0 在我的web服务,我也用library.dll,但2.0版更新Web引用给出了不同版本的DLL

当我做一个更新的webreference,dll里面的类也会在webreference中生成。

这给了麻烦,因为在我的应用程序中,在DLL中定义的类现在也可以在引用中使用,并且存在不匹配。

我该如何解决这个问题?我需要能够告诉web服务在以这种或那种方式更新web引用时忽略dll代码。

我使用Visual Studio 2008

回答

0

好的,我自己找到了解决方案。

该扩展必须部署在GAC中,并且必须更改machine.config。

是这样的:

<system.xml.serialization> 
    <schemaImporterExtensions> 
     <add name="SchemaImporterExtensions" 
      type="Library.DesignTime.SchemaImporterExtension, 
       Library.Framework.DesignTime" /> 
    </schemaImporterExtensions> 
</system.xml.serialization> 
0

你可以生成客户端代理时所使用的reference开关:

svcutil.exe /reference:c:\library.dll http://example.com/service.svc?wsdl 

这将寻找班library.dll是WSDL中的相同,它赢得不要在代理中重新创建它们(通过相同的类,我的意思是相同的名称空间和类型名称)。

+0

,如果我有这个问题,5分dll的? – Natrium 2009-11-17 13:10:55

+0

您可以为每个库多次使用'/ reference'开关。 – 2009-11-17 13:13:44

+0

我有一个web服务,而不是一个wcf服务。这也会起作用吗? – Natrium 2009-11-17 13:16:22

相关问题