服务引用更新throws表达式太长或太复杂而无法编译

时间:2013-05-28 19:57:39

标签: c# .net wcf

当我尝试更新.net服务参考时,我收到错误“表达式太长或编译太复杂”。我提取了服务的Reference.cs以查看发生了什么,似乎Visual Studio正在使用名为GeneratedEDMModel的抽象类更新服务引用。基本上这个类包含一个非常长的连接xml字符串,编译器似乎有问题。它似乎也很环保,因为团队中的其他人能够很好地更新服务并且不会生成此类。删除和创建新服务会做同样的事情,我也尝试使用o数据服务并获得相同的行为。

任何人都可以了解这是什么以及它是如何生成的?

我不可能在这里粘贴整个模型字符串,但这里有一小部分写入参考文件。 const字符串ModelEdmx似乎是xml格式的整个EF模型。

 [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
    private abstract class GeneratedEdmModel
    {
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private static global::Microsoft.Data.Edm.IEdmModel ParsedModel = LoadModelFromString(ModelEdmx);
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private const string ModelEdmx = "<edmx:Edmx Version=\"1.0\" xmlns:edmx=\"http://schemas.microsoft.com/ado/2007/06/edm" +
            "x\"><edmx:DataServices m:DataServiceVersion=\"1.0\" m:MaxDataServiceVersion=\"3.0\" x" +
            "mlns:m=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\"><Schema " +
            "Namespace=\"Model\" xmlns=\"http://schemas.microsoft.com/ado/2009/11/edm\"><Ent" +
            "ityType Name=\"AttachmentType\"><Key><PropertyRef Name=\"AttachmentTypeId\" /></Key>" +
            "<Property Name=\"AttachmentTypeId\" Type=\"Edm.Guid\" Nullable=\"false\" p6:StoreGener" +

1 个答案:

答案 0 :(得分:1)

这与Visual Studio有关。重新安装visual studio解决了这个问题。