SubSonic架构错误

时间:2009-05-22 21:42:12

标签: visual-studio-2008 .net-3.5 subsonic subsonic2.2

我在.net 3.5中运行VS2008并试图让SubSonic 2.2运行。我的数据库名为Test,DB中的表名为TestTable。它正在SQL Server 2005上运行。我收到以下“警告”:

  

无法找到元素'SubSonicService'的架构信息。

     

无法找到属性“defaultProvider”的架构信息。

     

找不到元素'providers'的架构信息。

     

无法找到元素'clear'的架构信息。

     

找不到元素'add'的架构信息。

     

无法找到属性“name”的架构信息。

     

无法找到属性“type”的架构信息。

     

无法找到属性“connectionStringName”的架构信息。

     

找不到属性'generatedNameSpace'的架构信息。

问题是命名空间没有生成,所以我无法工作。 “SubSonic.Generated.Tables”这一行将在我的表中提出我的名字,所以我知道它可以连接,显然它正在做SOMETHING。但是我不能像类那样引用我的表。下面我已经包含了“警告”引用的web.config部分。

<SubSonicService defaultProvider="GeekPower">
    <providers>
      <clear/>
      <add name="GeekPower" type="SubSonic.SqlDataProvider, SubSonic" connectionStringName="GeekPower" generatedNameSpace="GeekPower" />
    </providers>    
  </SubSonicService>

任何帮助将不胜感激。我一直在寻找几个小时,但没有修复我找到了工作。

谢谢!

5 个答案:

答案 0 :(得分:0)

项目中是否有任何类与生成类创建命名空间冲突?尝试使用不同的命名空间重新生成,如GeekPower.Foo。

答案 1 :(得分:0)

您可能希望看到:

特别是,如果你刚开始。

祝你好运!

答案 2 :(得分:0)

您是否真的使用sonic.exe程序生成了类?这将生成随后导入项目的.cs文件。要删除警告,请将其添加到.config:

的顶部
<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <configSections>
    <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false" />
  </configSections>
</configuration>

答案 3 :(得分:0)

这些警告是因为XML无法识别Jason所说的配置。您可以忽略它们 - 或者您可以将配置设置为.NetConfiguration / v3.5

答案 4 :(得分:0)

嗯。很抱歉重新打开这一个人,但我认为我们可以钉它并且它似乎没有钉牢。

我对警告有完全相同的问题,而且几乎完全相同的配置。 我的DAL工作得很完美,构建,从广义上讲没有任何问题,但是我在使用SubSonic的每个项目中都收到了警告。这只是一种刺激,仅此而已,但我喜欢摆脱烦恼。

如果我添加

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

或v3.5,按照建议配置,我只是得到额外的消息

消息1无法找到元素“http://schemas.microsoft.com/.NetConfiguration/v2.0:configuration

的架构信息

或类似,所以这似乎不是问题。这不是配置文件本身,只是SubSonicService部分。

原始消息看起来很合理 - 应该有一些文件(XML Schema?)告诉VS SubSonicService部分允许的标签,并且可能会给我们一些非常需要的智能感知。 此文件似乎缺失。这只是“不能被打扰”的情况吗? (罗布? - 顺便说一句,没有欺骗,我们都去过那里!)如果是这样的话,任何人都能指出一套关于如何创建文件并应用它的相当简单的指令,我会这样做并分享它