- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个项目,由一个核心 nuget 包和几个附加扩展包组成。
核心包的 nuspec 如下所示:
<?xml version="1.0"?>
<package>
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>The Core Package</title>
<authors>$author$</authors>
<owners>$author$</owners>
<description>$description$</description>
</metadata>
</package>
并且,在每个扩展包中,我都有一个像这样的 nuspec:
<?xml version="1.0"?>
<package>
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>A Extension Package</title>
<authors>$author$</authors>
<owners>$author$</owners>
<dependencies>
<dependency id="The.Core" version="$version$"/>
</dependencies>
</metadata>
</package>
当运行发布版本时,我使用相同的 $version$ token 来立即更新所有包。这使得每当我发布版本时对核心的依赖都会向前推进。
现在,我一直在私有(private) nuget feed 上使用它,并且效果很好。但是,我想将这些包作为预发布版本发布到公共(public) nuget。我将程序集版本属性设置为在所有程序集上如下所示:
[assembly: AssemblyFileVersion("1.0.1")]
[assembly: AssemblyInformationalVersion("1.0.1-alpha")]
但是,当我运行 nuget pack(从我的构建服务器)时,它似乎没有选择 1.0.1-alpha 作为包的版本:
[pack] Starting NuGet.exe 2.7.40906.75 from C:\TeamCity\buildAgent\tools\NuGet.CommandLine.DEFAULT.nupkg\tools\NuGet.exe
[14:21:46][pack] WARNING: Option 'Verbose' has been deprecated. Use 'Verbosity' instead.
[14:21:46][pack] Attempting to build package from 'The.Core.csproj'.
[14:21:46][pack] Packing files from 'C:\TeamCity\buildAgent\work\857bd09f14af8e44\src\The.Core\bin\Release'.
[14:21:46][pack] Using 'The.Core.nuspec' for metadata.
[14:21:46][pack]
[14:21:46][pack] Id: The.Core
[14:21:46][pack] Version: 1.0.1
[14:21:46][pack] Authors: Jonathan Holland
[14:21:46][pack] License Url: http://www.apache.org/licenses/LICENSE-2.0
[14:21:46][pack] Dependencies: None
[14:21:46][pack]
[14:21:46][pack] Added file 'lib\net40\The.Core.dll'.
[14:21:46][pack]
[14:21:46][pack] Successfully created package 'C:\TeamCity\buildAgent\work\Publish\The.Core.1.0.1.nupkg'.
[14:21:46][pack] Process exited with code 0
您可以看到它选择了 1.0.1 作为版本,而不是像我预期的那样 1.0.1-alpha。
当构建服务器尝试打包第一个扩展时,事情会变得更奇怪:
[pack] Starting NuGet.exe 2.7.40906.75 from C:\TeamCity\buildAgent\tools\NuGet.CommandLine.DEFAULT.nupkg\tools\NuGet.exe
[14:21:46][pack] WARNING: Option 'Verbose' has been deprecated. Use 'Verbosity' instead.
[14:21:46][pack] Attempting to build package from 'The.Core.Extension.csproj'.
[14:21:46][pack] Packing files from 'C:\TeamCity\buildAgent\work\857bd09f14af8e44\src\he.Core.Extension\bin\Release'.
[14:21:46][pack] Using 'The.Core.Extension.nuspec' for metadata.
[14:21:46][pack] Found packages.config. Using packages listed as dependencies
[14:21:46][pack] A stable release of a package should not have on a prerelease dependency. Either modify the version spec of dependency "The.Core (ò 1.0.1-alpha)" or update the version field.
[14:21:46][pack] Process exited with code 1
所以,这里我们遇到了失败,因为 nuspec 依赖部分中的 $version$ 被正确替换为“1.0.1-alpha”,但是在版本节点中,它被替换为 1.0.1。
这真是奇怪的行为,所以我必须做一些完全错误的事情。我认为这只是 nuspec 的简单搜索和替换 token ,但 token 行为的工作方式必须有某种上下文。
我希望两个 nuspec 上的
最佳答案
经过大量探索后,我发现问题来自 TeamCity Nuget Build Runner:
此框中填充了 %build_number%,不知何故,这与 nuget 自己对程序集属性的反射(reflect)相冲突。
将其设置为空白修复了它。
关于teamcity - NuSpec $version$ 替换预发布包的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20294266/
使用 TeamCity,我在一个项目中设置了多个构建。大多数时候我想将每个构建作为独立运行。但是,有时我想使用相同的参数集执行多个构建。这些构建都使用相同的模板,因此理论上,它们的所有参数都可以由单个
我希望能够将最后一个固定的内部版本号传递给我的 TeamCity 构建步骤。我没有看到可以传入的系统参数,就像我对当前内部版本号所做的那样。 有没有我没有看到的参数?或者有没有办法从 URL 获取版本
我真的无法理解 teamcity (7.1) 中快照依赖的概念。 我们有一个构建项目,它根据构建参数(数据库名称和文件)相应地部署数据库,我有一个构建项目,用于构建和部署我们的 Web 应用程序。 我
我无法从远程计算机浏览到我的团队城市 (JetBrains)。我已按照安装说明进行操作,并且安装进行得很顺利。我可以在服务器上本地浏览 to 应用程序,完全没问题。我将配置文件中的默认服务器 url
我正在尝试重置密码。我正在关注 instructions here .我试过关闭两个服务(TeamCity Build Agent Service 和 TeamCity Web Server)或两者的
我的构建有 10 个步骤。 构建经常在第 10 步失败,尝试将 rpm 部署到神器。 下次构建再次从 1 开始,我可以将构建配置为仅在该步骤失败时从 10step 开始吗? 谢谢 最佳答案 没有内置方
我的构建有 10 个步骤。 构建经常在第 10 步失败,尝试将 rpm 部署到神器。 下次构建再次从 1 开始,我可以将构建配置为仅在该步骤失败时从 10step 开始吗? 谢谢 最佳答案 没有内置方
我正在 TeamCity 中构建 nuget,并且希望在 checkin 触发构建时将后缀“-pre”附加到版本号。当手动触发构建时,我希望能够提供一个复选框,以确定此构建应该是预览版本还是适合生产。
我们在 TeamCity 中的一些构建是灰色的,就像它们被禁用一样。 原因通常并不明显。当我检查有关构建的详细信息时,我没有发现任何值得注意的地方。 这个颜色到底代表什么? 另外:如果像上图一样,在变
在我的组装版本中,我想设置前 3 位数字,第四位数字应通过 Teamcity 设置。 例子: 我在我的 Assambly 中设置了 2.0.1.0。 那么我的 Teamcity 应该这样做: 2.0.
我正在为我们的团队城市构建服务器设置安全性。我希望所有用户都能够查看所有构建,其中一些构建会生成包含敏感数据(连接字符串等)的工件。是否可以阻止特定角色查看构建工件? 最佳答案 可能有点变通,但如果您
在 TeamCity 8.1 中,我刚刚下载了我的源代码,我要做的第一件事是从我刚刚检索的内容中删除一堆子文件夹。 我不能在“结帐规则”中使用排除项,所以我想我需要一个单独的步骤来在检索源代码后立即运
TeamCity 作业当前失败,因为磁盘空间不足。通过 Administration => Disk usage,我发现构建日志数量过多: 我曾尝试通过 TeamCity UI 清理构建历史,删除最近
我正在开发 Team-city 9.x。我在其中一个发布项目中遇到了一些构建失败。虽然我们已经禁用了构建并且我们不想运行构建。 我正在尝试将构建移动到另一个项目(禁用构建),但我无法移动构建。 因为我
我正在尝试用新构建中的新标签替换添加到构建中的标签。 我可以使用以下命令创建标签: curl -v -H "Content-Type:text/plain" -d "latest" https:///
我的 TeamCity 服务器中有很多项目,用于构建和测试多个站点。我们每晚都使用 Selenium RC 来测试站点,我想重用一个步骤或配置,而不是在每个项目中都有副本。 我已经研究过使用模板,但它
我正在设置合适的 CI 环境,目前正在评估 TeamCity。 (所以我的 TeamCity 经验是不存在的。)。 我已经在干净的 Windows XP(目前)VM 中执行了 TeamCity 5.0
我已经建立了顶级项目一个 在 TeamCity 中。 项目一个 有一个名为 的构建配置A1 . 项目乙 是的子项目一个 . 项目乙 有一个名为 的构建配置B1 . 在这个构建配置中,我定义了两个参数:
我们有一个编译并创建工件的构建。然后我们有另一个 Build,它使用最后一个 Compile 构建并将其部署到适当的环境。完成后,我必须在 TC 中标记已推送到环境中的构建。有没有一种方法可以标记使用
我正要第一次自己设置teamcity。在我不得不说的大多数方面都非常好和简单。但是,我有一个问题无法解决,也无法找到任何相关信息。 当我想发布我的工件时,我想排除某些文件类型。 例子: %system
我是一名优秀的程序员,十分优秀!