我們有一個F#項目和一個C#項目的解決方案。兩者都使用同一套NuGet軟件包,使用NuGet軟件包恢復來自動執行下載。令人沮喪的是,我們經常遇到F#項目無法構建的問題,迫使我們卸載並重新安裝所有軟件包。看起來,NuGet在安裝過程中沒有正確編輯fsproj文件,從而導致我們留下重複的引用或阻止構建的錯誤引用。有沒有人遇到類似的問題/有誰知道解決方案?NuGet /包恢復與F#不能很好地搭配#
回答
您是否遇到此錯誤? F# Project VS 2012: Update package removes HintPath
NuGet中還有一些影響F#項目的已知錯誤。您可能需要瀏覽CodePlex上的NuGet問題跟蹤器,以查看您的問題是否已被報告;如果沒有,你應該絕對提交一份錯誤報告,讓NuGet開發者意識到這個問題。
我最近寫了一篇博客文章中有關此問題以及如何重現它。
http://mikehadlow.blogspot.co.uk/2013/06/nuget-install-is-broken-with-f.html
我在它下面開始複製的要求:
那裏當你嘗試使用的NuGet一個裝基準添加到F#項目是一個非常討厭的錯誤。當正在安裝的程序集在GAC中也有一個版本或輸出目錄中已經存在不同的版本時,它就會顯示出來。
首先讓我們在GAC中已經存在程序集版本時重現問題。
用F#項目創建一個新的解決方案。
選擇您想從NuGet安裝的程序集,該程序集也存在於機器上的GAC中。出於諷刺的目的,我將爲這個例子選擇NuGet.Core。
它在我的GAC:
D:\>gacutil -l | find "NuGet.Core"
NuGet.Core, Version=1.0.11220.104, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL
NuGet.Core, Version=1.6.30117.9648, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL
你可以看到,在海關總署的最高版本是1.6.30117.9648
現在讓我們從官方的NuGet源安裝NuGet.Core版本2.5.0 :
PM> Install-Package NuGet.Core -Version 2.5.0
Installing 'Nuget.Core 2.5.0'.
Successfully installed 'Nuget.Core 2.5.0'.
Adding 'Nuget.Core 2.5.0' to Mike.NuGetExperiments.FsProject.
Successfully added 'Nuget.Core 2.5.0' to Mike.NuGetExperiments.FsProject.
它正確地創建一個包目錄,下載NuGet.Core包並創建一個packages.config文件:
D:\Source\Mike.NuGetExperiments\src>tree /F
D:.
│ Mike.NuGetExperiments.sln
│
├───Mike.NuGetExperiments.FsProject
│ │ Mike.NuGetExperiments.FsProject.fsproj
│ │ packages.config
│ │ Spike.fs
│ │
│ ├───bin
│ │ └───Debug
│ │
│ └───obj
│ └───Debug
│
└───packages
│ repositories.config
│
└───Nuget.Core.2.5.0
│ Nuget.Core.2.5.0.nupkg
│ Nuget.Core.2.5.0.nuspec
│
└───lib
└───net40-Client
NuGet.Core.dll
但是,當,當我看着我的fsproj文件我看到它有錯誤引用了NuGet.Core版本(1.6.30117.9648)從海關總署,有指向下載的軟件包沒有暗示路徑。
<Reference Include="NuGet.Core, Version=1.6.30117.9648, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<Private>True</Private>
</Reference>
如果你的鏈接死了,你能在這裏提供一個簡短的總結嗎? – 2013-06-16 08:17:33
- 1. MySql find_in_set()與PHP PDO不搭配很好
- 2. Nuget包恢復與MonoDevelop
- 3. Nuget包恢復
- 4. NuGet包恢復
- 5. NuGet包不會從VS2015與GitLab恢復
- 6. react.js與jQuery/UI組件搭配很好
- 7. JComboBox與GroupLayout搭配不好
- 8. 在ActionScript中與「for each」很好地搭配使用?
- 9. Flash和IE與HTTP cookies很好地搭配嗎?
- 10. Jekyll支持markdown分析器,它與mathjax很好地搭配嗎?
- 11. sbt-ensime與SBT名稱哈希不搭配很好
- 12. Knockout JS - 莫代爾形式與Bootstrap不搭配很好用
- 13. jquery:maskedinput插件與驗證插件不搭配很好
- 14. Flask的DispatcherMiddleware與Plotly的破折號不搭配很好
- 15. TFS無法恢復NuGet包
- 16. xunit nuget包恢復失敗
- 17. 網站的NuGet包恢復
- 18. dotnet恢復vs. nuget恢復與teamcity
- 19. NuGet包恢復無法從.nuget \ packages.config
- 20. 沒有NuGet的NuGet包恢復許可
- 21. Rails 3.2.8+和MySQL的某些組合不能很好地搭配使用
- 22. Maven和AspectJ不能很好地包裝
- 23. 恢復包時,NuGet不執行腳本
- 24. NuGet恢復不包括框架
- 25. nuget - 軟件包恢復不起作用
- 26. OpenSolaris Brandz和JNI很好的搭配?
- 27. 在TFS的Nuget恢復恢復包到不同的目錄
- 28. GwtChosen與GWT LayoutPanel和RootLayoutPanel搭配不好
- 29. CGImageCreateWithImageInRect與UIImagePickerControllerOriginalImage不能很好地工作
- 30. DPAPI加密不能很好地與my.settings
這看起來像是問題。現在,我只希望有一個解決方案... – ChaseMedallion 2013-03-08 21:50:14
@ChaseMedallion不要忘記爲Codeplex上的問題投票--NuGet開發人員通常根據問題得到的投票數量優先考慮功能/修復。 – 2013-03-08 22:15:58
讓他們承認這個問題需要一段時間,但現在它將在NuGet 2中修復。3 - 所以這裏希望。 – 2013-03-08 22:41:29