2010-11-13 205 views
0

我已經閱讀了幾個帖子,用戶有這個相同的問題。編譯時,.exe無法從app.config加載任何資源。即使將app.config複製到輸出目錄時也會發生這種情況。app.config被忽略?

具體來說,我有一個Web服務客戶端是無法確定正確的端點配置的問題,即使我靜態編譯它像這樣:

this.ws = new MyServicePortTypeClient("MyServicePort", "http://mysite.com/customer_portal/ws.php"); 

拋出的異常狀態「系統。 InvalidOperationException:找不到在ServiceModel客戶端配置部分中引用合同'MyWebService.MyServicePortType'的默認端點元素,這可能是因爲沒有爲您的應用程序找到配置文件,或者因爲在客戶端中找不到匹配此合同的端點元素元件。」

我很茫然,所以任何幫助,將不勝感激。

編輯:這裏的MyService.exe.config

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    </configSections> 
    <system.serviceModel> 
     <bindings> 
      <basicHttpBinding> 
       <binding name="MyServiceBinding" closeTimeout="00:01:00" 
        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
        useDefaultWebProxy="true"> 
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
         maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
        <security mode="None"> 
         <transport clientCredentialType="None" proxyCredentialType="None" 
          realm="" /> 
         <message clientCredentialType="UserName" algorithmSuite="Default" /> 
        </security> 
       </binding> 
      </basicHttpBinding> 
     </bindings> 
     <client> 
      <endpoint address="http://mysite.com/customer_portal/ws.php" 
       binding="basicHttpBinding" bindingConfiguration="MyServiceBinding" 
       contract="MyWebService.MyServicePortType" name="MyServicePort" /> 
     </client> 
    </system.serviceModel> 
</configuration> 
+1

如果無論您是否在app.config中設置了配置,都會拋出相同的異常,在我看來,app.config並未涉及您的實際問題。 – 2010-11-13 02:21:22

+0

如果是這樣的話,它會是什麼?可能有用的更多細節是它是一個Windows服務應用程序。當我通過Visual Studio進行調試時,它工作正常,但是在使用installutil進行安裝後,它給了我這個錯誤。 – Skudd 2010-11-13 02:23:37

+0

你可以向我們展示**你正在使用的app.config嗎?此錯誤很可能是由於該文件中格式錯誤的WCF配置。只是''部分 - 謝謝! – 2010-11-13 07:12:53

回答

1

嗯,我從大家提供的信息幫助了它。

問題是installutil.exe試圖使用自己的配置,而不是服務創建的配置。在這種情況下,它試圖加載C:\ Windows \ Microsoft.NET \ Framework \ v2.0 ... \ InstallUtil.config。

現在我已經知道了,我可以使用它並使其正常工作。

謝謝,你們都!

+1

好吧,你從來沒有提到使用installutil。exe - 很高興你解決它無論如何。 :) – 2010-11-15 08:15:48

1

EXE從採取設置FileName.exe.config,不從的App.config

FILENAME.EXE .config應該在編譯代碼時自動生成,並放在EXE本身旁邊。

檢查您的EXE文件夾..你看到FileName.exe.config在那裏?

(如發佈答案,由於長度和格式)

+0

我檢查並確實有一個FileName.exe.config,我已添加到原始文章。儘管如此,它仍然被忽略。 – Skudd 2010-11-14 20:31:31

+0

WCF服務通常具有.svc擴展名,所以我不確定發生了什麼。我懷疑你可以用PHP編寫WCF服務。也許客戶端正在拋出錯誤,因爲PHP代碼沒有返回有效的響應。 – 2010-11-14 20:47:58

+0

請在這篇帖子中閱讀以「嗯,我想出來......」開始的帖子。 PHP端點不是問題。 – Skudd 2010-11-14 21:16:51