2011-05-26 101 views
0

我在Visual Studio中有一个新的silverlight解决方案。我创建了一个Silverlight类库来共享通用功能。这个类库有一个服务引用,所以它有一个ServiceReferences.ClientConfig文件。问题是如果我在这个解决方案中创建一个项目并添加对类库的引用,似乎我需要在此单个项目中使用ServiceReferences.ClientConfig。如果我复制并从类库中粘贴ServiceReferences.ClientConfig文件到项目,一切工作正常。如果我不知道下面的错误。这是否违背了在类库中共享此服务引用的目的?我希望能够在一个地方轻松地更改服务引用指向(调试机器/生产机器)的位置。我能做什么?有没有另一种方式我错过了?谢谢。silverlight项目设置

在.xap应用程序包中找不到'ServiceReferences.ClientConfig'。该文件用于为Web服务配置客户端代理,并允许应用程序找到它所需的服务。将该文件包含在应用程序包中,或者修改代码以使用客户端代理构造函数来明确指定服务地址和绑定。详情请参阅内部例外。 >

回答

1

类库的配置没有打包到.xap文件中。没有这种配置,服务引用就无法正确配置。

这是否破坏了在类库中共享此服务引用的目的?

不是。大量的“服务参考”是类库中的代码。这就是你分享的内容。由于xap(或exe和web应用程序)只有一个配置文件,因此您必须在应用程序的配置文件中具有ServiceReferences.ClientConfig。

我不知道在构建过程中将一些重要的位从类库的配置文件复制到应用程序配置文件的机制。