Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NuGet和夜间构建_C#_.net_Deployment_Nuget - Fatal编程技术网

C# NuGet和夜间构建

C# NuGet和夜间构建,c#,.net,deployment,nuget,C#,.net,Deployment,Nuget,我们应该把我们的夜间构建放在NuGet daily上吗?客户要求这样做,但他们每年都有大量的包裹。NuGet是为此而设计的吗?我们如何标记稳定版本呢 谢谢。没有什么能阻止您将夜间构建放在NuGet上。有些团队,如ScriptCS团队和ASP.NET团队,用于夜间构建,而不是使用主NuGet提要 您可能希望将这些构建与稳定版本区分开来,至少在主NuGet提要上是这样。您需要使用版本号(如1.0.1-alpha1)将这些构建标记为预发布的NuGet软件包,并使用1.0.1作为稳定版本。但是,如果您使

我们应该把我们的夜间构建放在NuGet daily上吗?客户要求这样做,但他们每年都有大量的包裹。NuGet是为此而设计的吗?我们如何标记稳定版本呢


谢谢。

没有什么能阻止您将夜间构建放在NuGet上。有些团队,如ScriptCS团队和ASP.NET团队,用于夜间构建,而不是使用主NuGet提要


您可能希望将这些构建与稳定版本区分开来,至少在主NuGet提要上是这样。您需要使用版本号(如1.0.1-alpha1)将这些构建标记为预发布的NuGet软件包,并使用1.0.1作为稳定版本。但是,如果您使用MyGet,您不需要将这些版本标记为预发布版本(如果您不愿意)。

首先,从用户的角度考虑

即使客户在夜间安装您的设备,如果出现故障,他也可以恢复到更稳定的夜间。因此,对于您发布的每个构建,绝对需要一个唯一的版本方案

假设您的客户安装了适用于hin的版本
1.0.1-nightly.1234
。现在,他每晚更新
1.0.1.1235
,但该更新已损坏,无法继续。他应该是个能干的人

uninstall-package YourPackage
install-package YourPackage -version 1.0.1-nightly.1234 -pre
我知道你不想把nuget.org和你的夜间构建搞得一团糟,这样你就可以使用另一个feed或者安装你自己的服务器(也许你的构建服务器已经可以做到这一点,我使用teamcity,它可以进行nuget部署,并且在nuget服务器中有一个构建,即使我到目前为止从未使用过它,但我正计划这么做)

也许你可以在NuGe.Org上每月预发布,或者手动发布每晚你认为相当稳定的版本。 我建议您更改版本方案,将日期包含在您自己的feed的构建中

1.0.1-nightly.20140520
,以及官方构建中的
1.0.1-nightly

nuget本身支持版本控制方案,如
。-.
,但nuget.org只允许
。-


@Alberto Nuget支持多个包源。您甚至可以通过夜间构建托管自己的nuget服务器。只有有意添加此订阅源的客户才能获得您的夜间版本。@Schlaviener:我们是否能够用今天的版本替换以前的夜间版本?我们对保留数百个软件包不感兴趣…@Alberto-我补充了一个带有一些细节的答案MyGet基本上是NuGet软件包的不同来源。如果您不希望NuGet上的每个包都存在,您可以自己托管NuGet服务器,或者使用第三方托管站点(如MyGet)来托管您的包。org@Matt:我想知道我是否可以替换软件包而不是每天添加一个新的。。。