2017-10-08 73 views
0

我目前正在致力於個人項目,但我想使用Azure & Visual Studio在線構建設施以實現自我教學目的。我很難解決這個問題:在Visual Studio中部署類庫在線構建

我有一個wpf應用程序連接到天藍色的web api。 Wpf應用程序在它自己的Git倉庫中,Web API也在它自己的Git倉庫中。 由於這兩個應用程序共享一個通用模型,因此我在自己的回購中也使用通用模型以避免代碼重複。 我必須失去了一些東西....

我想做 當我建立在Visual Studio中的在線,我想建立「共同」喂其輸出DLL文件的WebAPI和WPF應用程序,使他們有什麼可以參考模型。

解決方案至今認爲

  1. NuGet包

做 「模特」 的NuGet包,但我在哪裏推?這肯定不會對nuget.org有任何價值,所以不要去。 我會需要一些私人nuget在Visual Studio在線回購,不知道它存在。

  • postbuild事件
  • 我還考慮添加後生成事件「共同」建立和複製其倉* .DLL輸出到WPF和的WebAPI應用到一些「依賴關係文件夾」,但我覺得這個骯髒,而且我不知道一個構建可以將其輸出推到另一個構建的輸入(我知道詹金斯可以,但我不確定在線視覺工作室),此外,我怎樣才能參考DLL在我的csprj中還沒有存在?

  • 犯回購倉(啊)
  • 當然,我可以在本地建立模型和推所得的dll在GIT回購但是,好,我反對把二進制文件版本控制工具:)

  • 更改我的設計 考慮到WPF只需要DTO而不是真正的實體(這是真的),但將的WebAPI無論如何需要反序列化DTOS做回到一個,但這次與dtos :)
  • 感謝您的輸入!

    +1

    一個Nuget包年齡不一定要在Nuget.org上。如果需要,可以將包放入構建服務器上的文件夾中。此外,團隊服務有一個包管理組件,它基本上是您自己的私人Nuget服務器,但據我所知它不是免費的。 – Crowcoder

    回答

    0

    非常感謝CrowCoder! 這正是我所需要的:在visual studio online中使用「Package Management」擴展,最多可以有5個用戶。 步驟所需:我的本地機器上

    1. 配置的NuGet,
    2. 創建nuspec,
    3. 創建飼料,
    4. 包中的模型庫
    5. 配置構建圖書館推到飼料
    6. 使用nuget包到參考模型
    相關問題