2017-02-18 97 views
1

我正在開發在Visual Studio代碼F#,當我嘗試編譯我的代碼用假我得到上述錯誤:MSB3245:無法解析此引用(System.Drawing.Imaging)

warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Drawing.Imaging". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

然後一長串「考慮<various filepaths>,但它不存在。」包括我的.NET Framework文件夾和GAC,這很奇怪。我就老老實實預料成像在System.Drawing.dll是一個命名空間中聲明,但是編譯器甚至不似乎認爲此選項...

我得到相同的錯誤與System.Windows.MediaSystem.Windows.Media.ImagingSystem.Windows.Media.IO。可能相關的事實是,智能感知沒有拿起這些名稱空間,雖然它確實找到System.Drawing.Imaging ...

回答

1

碰巧,我想出了我的問題,而寫它,但計算如果別人有同樣的問題,我可能會發布它。

問題的根源是,>F#: Add Reference不工作,我的意思是,如果我打>F#: Add Reference><current project>>System.Drawing.Imaging(說),沒有什麼特別的似乎發生。如果有人可以解決這個問題併發布他們的答案,我會接受他們的答案,並加以讚揚,因爲這是真正的問題。

爲了解決VSCode中的這個錯誤,我手動編輯了我的fsproj文件,但似乎我並沒有真正理解我在做什麼。顯然,當我以我使用的格式給出<Reference> s時,它尋找明確的dll,這當然不存在.Imaging等等。一旦我刪除這些錯誤消失了,而不會產生新的錯誤,比如說,我不會像我預料的那樣認出Bitmap

更新:Add Reference的問題現在也被發現:顯然,當用戶名在Windows上有空格時,Ionide不會生成正確的Forge命令。