2010-05-07 148 views
16

在VS2010中,Silverlight 4,.NET 4,我有一个WCF服务和一个Silverlight应用程序,并且Silverlight正在访问该类,而不是使用添加服务引用但通过分享合同。当然,这意味着我在Silverlight类库中拥有合同,并且该服务具有对该库的项目引用。VS2010:从.NET项目添加项目引用到Silverlight项目的警告

奇怪的是,这导致在参考/ \图标,并发出警告:

项目“SilverlightClassLibrary1”不能被引用。引用的项目是针对不同的框架系列(Silverlight)

但是,引用工作正常(我可以使用我的Silverlight应用程序中的接口)并且很好。

这是一个错误?我的猜测是肯定的,因为如果你添加一个程序集引用而不是项目引用,这个警告就在说谎并且消失。我提交了bug,还有更多信息here

+0

请注意,它只是一个*警告*。我见过类似的 - 实际上,这就是为什么我没有在“SerializerGenerator”图片中扩展“引用”,这里是http://marcgravell.blogspot.com/2010/04/walkthrough-protobuf-net-on -phone-7.html(“MyDto”项目与您的Silverlight一样)。好问题,但。好的地方重新项目/ DLL参考之间的区别。我会给我一个去做我正在做的事情;-p – 2010-05-07 23:19:30

+0

有趣。它是否抱怨,而不是通过链接文件而不是添加一个DLL引用来将合同包含到Silverlight DLL中? – Doobi 2010-05-08 14:51:41

+0

不,它没有抱怨,因为你真的将代码复制到另一个程序集中。 – nlawalker 2010-05-26 22:55:33

回答

15

微软回应了我发布的bug。警告旨在存在,并且意在作为警告而不是错误,尽管我会认为案文不好。原因在于引用Silverlight项目会导致运行时失败如果 Silverlight未在计算机上正确安装。目前没有办法压制警告。

+2

我有点困惑 - 这是否意味着Silverlight必须安装在托管我的wcf服务的服务器上?感谢您提供有用的信息 – tomfumb 2011-08-10 23:59:52

+1

Hm,该URL不再有效。你有没有记住它的名字,所以我可以尝试再次找到它?我尝试搜索[“被引用的项目针对不同的框架系列(Silverlight)”](https://connect.microsoft.com/SearchResultsLive.aspx?SearchQuery=different%2bframework%2bfamily%2b(Silverlight))微软连接,但没有弹出。 – 2012-10-22 13:13:14

3

如果您希望警告消失,您可以使用“添加引用” - >“浏览”直接添加dll,而不是通过“添加引用” - >“项目”添加项目。

这对我们来说也是一个非常讨厌的问题,而这是我们发现的唯一解决方法。

+0

这不是一个好的解决方案,因为它不涉及发布vs调试版本。构建在错误类型上的干净工作区将失败,因为除非静态检查DLL到您的源代码控制中,或者将调试/发布的输出目录设置为该项目相关性的同一文件夹,否则DLL将不存在。即使那时特别是对于多线程构建,解决方案将会遗漏构建项目依赖项以计算项目的正确构建顺序。 – Shiv 2017-08-06 22:06:52