我喜歡用Microsoft.Exchange.WebService API兼容:EWS:不是的NetworkCredential在F#ExchangeCredentials
C#工作正常
ExchangeService service = new ExchangeService(userData.Version);
service.Credentials = new NetworkCredential(userData.EmailAddress, userData.Password);
F#給出了錯誤:類型 '的NetworkCredential' 不是兼容'ExchangeCredential'
open System
open Microsoft.Exchange.WebServices.Data
open System.Net
[<EntryPoint>]
let main argv =
let connectToService userData =
let service = new ExchangeService(userData.Version)
do
service.Credentials <- new NetworkCredential(userData.EmailAddress, userData.Password)
service.Url <- userData.AutodicoverUrl
0
我認爲它與在C#API中定義的隱式轉換有關。所以我嘗試了(:>)和downcast(:?>)。我試圖使它明白(新的NetworkCredential ...:ExchangeCredentials),並且我已經在C#nuget中直接和在F#paket中檢查了引用的dll。 無論是在2015年VS測試在C#中它的.Net 4.5.2和F#,太多,如果是看它在App.config
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
正確的路,我想用WebCredentials不正確辦法。我想使用SecureString而不是一個字符串,如果在C#中工作。所以我更可能會用我想了解的F#語法做錯了。
謝謝你的提示。但問題是別的。請參閱下面TheInnerLight的解決方案。 – KCT