如何强制SilverLight在生成的代码文件夹中生成代码?

问题描述:

这个问题与我之前发布的另一个问题How to set up RIA services with Silverlight 4.0 and without EF有关。如何强制SilverLight在生成的代码文件夹中生成代码?

长话短说,我们实际上试图按迈克尔马多克斯所述的方式实施解决方案。但是,当我们在我们的设置中第一次尝试他的解决方案时,由于某种未知的原因,它不起作用。

现在我已经给了它另一个去,我已经设法让它在我们当前的解决方案设置内工作,但我不完全确定如何,这就是为什么我发布这个问题。所以这里是我承担的步骤:

我创建了一个新的空白SL项目,并按照Michael的指示实施它,并发现它工作。

然后,我尝试将解决方案调整到我现有的SL应用程序,但我无法通过“VanillaDomainContext”从SL应用程序访问远程方法(如下所示),尽管“VanillaDomainService”会在Intellisense中出现将该方法作为链接文件引用。

System.ServiceModel.DomainServices.Hosting.EnableClientAccess()] 
public class VanillaDomainService : 
       System.ServiceModel.DomainServices.Server.DomainService 
{ 
    public int ReturnInteger100() 
    { 
     return 200; 
    } 
} 

经过双重检查的事情,我决定我们exisiting解决方案中添加一个新的SL应用程序,我没有问题,能够访问这些远程方法,使用“VanillaDomainContext”从新建SL应用。

最后,我决定在我现有的SL应用程序中再次尝试一下,看看这次我能够使用“VanillaDomainContext”。

所以,真的我的问题是在那里发生了什么?我的猜测是,“VanillaDomainContext”没有得到自动生成,事实上,在我现有的解决方案中创建新的SL应用程序之前,我已经通过查看生成的代码进行了确认。你能帮我解释一下我做错了什么吗?尽管我是Silverlight的新手,但这里似乎有点太“魔力”了。

TIA,

大卫

我有类似的经历与RIA服务的巫术。我会仔细检查Silverlight项目是否通过项目属性连接到RIA服务项目。这在Silverlight标签下,并被称为WCF RIA服务链接。除此之外,我发现在Silverlight和RIA服务项目上运行一次清理,然后进行重建似乎有所帮助。如果这不起作用,我会显示项目中的所有文件,删除Generated_Code文件夹,然后重新构建它。这通常会将一切恢复正常。

+0

嗨乔希,我们实际上已经完成了你所建议的确保它连接到RIA服务的方面。话虽如此,谢谢您提出的进一步建议,我认为这将会使我今后减少头痛。 – DavidS 2010-12-17 15:15:45

您可以通过您的services.web文件夹刷新RIA服务。
右键单击您的Services Web文件夹并重新选择RIA服务。
然后保存并刷新解决方案。

+0

这不提供问题的答案。要批评或要求作者澄清,在他们的帖子下留下评论 - 你总是可以评论你自己的帖子,一旦你有足够的[声誉](http://*.com/help/whats-reputation),你会能够[评论任何帖子](http://*.com/help/privileges/comment)。 – 2015-03-16 11:57:45

+0

@IlijaDimov,这是一个答案。阅读第一句话。它解释了解决他们的问题所采取的步骤。 – Andy 2015-03-16 14:07:55