我們使用Visual Studio編寫和維護本機Windows應用程序。我們正在研究使用NuGet來處理我們的依賴關係,它由本地靜態庫組成。有沒有辦法支持NugGet和本地庫的快照?
經過一番研究,我設法使用NuGet,package.config和CoApp PowerShell腳本創建並使用NuGet包,並在其中包含本機庫。我們現在面臨的問題是我們需要有快照支持。
但NuGet 3支持的翻轉PreRelease機制(帶*版本翻轉)看起來很好,但它似乎只能用於project.json而不能用於package.config。但是,Project.json似乎不適用於本地軟件包,因爲它們沒有安裝在本地解決方案文件夾中,因此構建無法找到標題和庫。
的問題歸結爲:
- 是否有使用project.json和的NuGet 3原生靜態庫的方法嗎?
- 如果沒有,那麼,有什麼替代方案支持這種用例呢? (用例是本機非託管Windows靜態庫的構建時依賴關係分佈)。
編輯:
最後,我們決定使用Maven依賴管理以來的NuGet似乎並不支持我們的用例。我在兩週前提交了一個問題,但沒有收到任何回覆。但是,如果我們決定強迫NuGet進入我們的用例,Wendy提出的解決方案可能會成爲一種方式,所以我接受了它。
感謝您的回答。聽起來很有希望。不幸的是,CoApp工具的使用使我們能夠抽象出不同的二進制文件用於不同配置的問題,這實際上會使其複雜化。但它可能是有用的。 此外,這將使我們手動設置包含和鏈接器位置,這是由CoApp生成的包通過.targets文件自動完成的。 – dhcarmona
我發現靜態庫不會被添加到直接使用project.json文件的項目中,但它們被列在project.lock.json文件中。你可以在這個文件中搜索它們。 –
根據yishaigalatzer在這個問題上的回覆,它只支持在當前版本的project.json中:https://github.com/NuGet/Home/issues/1891但是下面的線程提供了一種替代方法:http:// stackoverflow .COM /問題/ 26835197 /的NuGet-緩存和版本控制問題 –