0

我目前正在参与在 XAML/C++ 中构建一个广泛的自定义控制套件,这将是一个“付费”包,它将提供给 Metro XAML 开发人员,但需要支付许可费。

我想让客户通过我们公司的网站购买许可证,然后通过 Visual Studio 中的 Nuget 访问他们的购买。

我的问题是:

1) 我可以将 NuGet 打包技术用于“付费”组件吗(用户需要输入凭据或许可证密钥才能从我们的私有 Nuget 存储库中获取它们 - 或类似的东西)

2)我们希望托管我们自己的 Nuget 存储库来控制访问,并希望连接到我们的 TFS 系统 - 有人知道这是否可能吗?

我们试图创建的场景是潜在客户访问我们的网站,购买我们的控件套件,通过 Nuget 在 Visual Studio 中(安全地)下载我们的控件并获得自动更新。另一方面,我们对 TFS 进行所有开发,按下“部署”按钮,更新会自动发布到我们基于 TFS 的 Nuget 存储库。

我知道这是一个复杂的多方面问题,但欢迎提出任何建议:)

4

1 回答 1

0

首先,NuGet 不应该包含任何内置的安全机制——它是OPC格式的简单 zip 存档。一旦您的客户收到包裹,他就可以将其发送给任何人。您可以出售一项服务——最新版本、错误修复支持等等。

怎么练。您可以实施 NuGet API 并共享给您的客户唯一的提要。

  • 做任何你想要的身份验证。
  • 根据需要创建尽可能多的提要(根据您的许可政策)。
  • 每个供稿将仅包含您的包裹的子集
  • 使用内置客户密钥即时创建一个包(这违反了项目的道德规则) - 因为包没有签名。

但这使您能够让客户使用 NuGet 作为平台来更新您的包以及任何共享包。

AFAIK,没有用于 NuGet(Nuget Gallery、Nuget.Server 等)的公共画廊,这将限制对包的访问。

于 2012-07-25T22:04:50.120 回答