Possible Duplicate:
The element ‘behavior’ has invalid child element ‘myFaultExtension’ in wcf app.config聽證會「元素‘行爲’具有無效的子元素」應該被忽略,但由於它
我試圖實現從Creating and Handling Faults in Silverlight更新服務引用阻止。 (This項目工程在我的機器上。)
我得到一個Visual Studio警告:
The element 'behavior' has invalid child element 'betterErrorMessagesFaults'.
其他答案其他地方說我應該忽略它,但我可以,因爲我不無法更新非.Web項目中的服務引用(包含所有xaml文件的服務引用)。當我嘗試,我得到這個錯誤:
Parser Error Message: The type 'MyProject.Web.Services.BetterErrorMessagesFaultBehavior, MyProject.Web.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' registered for extension 'betterErrorMessagesFaults' could not be loaded.
這裏的web.config的有關部分:
<system.serviceModel>
<extensions>
<behaviorExtensions>
<add name="betterErrorMessagesFaults"
type="MyProject.Web.Services.BetterErrorMessagesFaultBehavior, MyProject.Web.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</behaviorExtensions>
</extensions>
<services>
<service name="MyProject.Web.Services.Service2">
<endpoint address="" binding="customBinding"
bindingConfiguration="MyProject.Web.Services.Service2.customBinding0"
contract="MyProject.Web.Services.Service2"
behaviorConfiguration="BetterErrorMessagesFaultBehavior"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="BetterErrorMessagesFaultBehavior">
<betterErrorMessagesFaults/>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="MyProject.Web.Services.Service2.customBinding0">
<binaryMessageEncoding>
<readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647"
maxDepth="2147483647" maxNameTableCharCount="2147483647"
maxStringContentLength="2147483647" />
</binaryMessageEncoding>
<httpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
maxBufferSize="2147483647" />
</binding>
</customBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
的BetterErrorMessagesFaultBehavior
只是類here on MSDN的複製粘貼;只更改了名稱(我用默認名稱嘗試),命名空間更改爲MyProject.Web.Services
。
我也試過交換
<add name="betterErrorMessagesFaults"
type="MyProject.Web.Services.BetterErrorMessagesFaultBehavior, MyProject.Web.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
與
<add name="betterErrorMessagesFaults"
type="MyProject.Web.Services.BetterErrorMessagesFaultBehavior, MyProject.Web.Services"/>
但沒有效果。我讀到這對空間等非常敏感,但我看不到任何問題區域。我也看了AssemblyInfo和版本是1.0.0.0,文化是空白(「」),我不知道什麼PublicKeyToken是,但我懷疑這不是問題在這裏...
所以我很難過,不知道在哪裏看下。