2017-10-08 71 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包到参考模型
    相关问题