如何设置 Azure Devops 来构建 Devexpress XAF-XPO 项目?

2024-01-30

我想在 Azure Devops 中为 XAP 移动应用程序设置持续集成和部署。

为了获得 CI/CD,我需要设置 Azure Pipeline 来安装正确的包。

文档中有一些信息托管您自己的 NuGet 源 https://learn.microsoft.com/en-us/nuget/hosting-packages/overview and

Dev Express 解释说,他们目前不提供 XAF 的 Nuget feed,但我可以自己制作委托的 DCNugetPackageBuilder http://blog.delegate.at/2016/02/26/nuget-packages-devexpress-components.html

使用DXNugetPackageBuilder制作Nuget包

按照说明,我下载了 .pdb 文件,将它们解压到 c:\tmp\symbols

我还下载了 DXNugetPackageBuilder 并根据说明编辑了 buildPackages.bat。

接下来我在提升的 Powershell 中运行 build.ps1

这在 C:\tmp\Nuget 创建了 .nupkg 文件

默认情况下,这使用位于

 C:\Program Files (x86)\DevExpress 18.1\Components\Bin\Framework

.pdb 文件位于

c:\tmp\symbols

使用 Nuget.Exe 和凭据提供程序将包推送到源

The Connect To Feed screen mentions I need to download Nuget.exe and the credential provider download credential provider

这是有关的文档凭证提供者 https://learn.microsoft.com/en-us/nuget/reference/extensibility/nuget-exe-credential-providers

我解压了 VSTS CredentialProviders Nuget.Exe。

下一步是按照“连接到源”屏幕的“添加此源”部分给出的说明进行操作。

例如

nuget.exe push -Source "SBDDevExpress" -ApiKey VSTS c:\tmp\Nuget\DevExpress.Data.18.1.6.0.nupkg

我遇到了访问被拒绝的问题在这里解决了 https://stackoverflow.com/questions/52798199/how-do-i-grant-access-to-nugetcredentialprovider-to-push-my-package-into-my-azur

然后我就可以推送所有我想要的包裹了。

设置Nuget包源

在 VS2017 中,打开我的解决方案,我使用了 Tools -> Nuget Package Manager -> Package Manager Settings

我添加了包设置,并将 Azure 端点设置为包源。

构建错误

当我运行构建管道时,我收到如下错误

The type or namespace DevExpress could not be found are you missing a directive or assembly reference?

来自学习 Updater.cs 和 Module.cs 我似乎缺少 Nuget feed 中的以下命名空间。

DevExpress.ExpressApp.DC;
DevExpress.ExpressApp.Updating;
DevExpress.Persistent.BaseImpl.PermissionPolicy;

[Update]

DevExpress 建议我将 bin 文件夹中生成的 dll 与我的包源进行比较。

我发现了几个丢失的文件并推送了它们的包。

我现在有

XafMobile.Module\Properties\licenses.licx(1.0): Error LC0003: Unable to resolve type 'DevExpress.ExpressApp.ModuleBase"

从源代码中可以看到ModuleBase是DevExpress.ExpressApp中的公共类

我想知道这是否与反思有关。

Devexpress 上有一些提到它support https://www.devexpress.com/Support/Center/Question/Details/T490157/the-unable-to-resolve-type-defined-in-licenses-licx-error-appears

[Update]

我尝试删除许可证文件并同步项目。 现在错误显示为缺少程序集引用

另外,当我重建解决方案时,属性文件夹中缺少许可证文件

我怀疑是否这有助于解释它 https://www.devexpress.com/Support/Center/Question/Details/Q525711/licenses-licx-file-not-generated

[Update]

Manuel Grunder [DevExpress MVP] 和 DXNugetPackageBuilder 作者解释说

” 使用 nuget.packages 时,您还需要通过 nuget 引用它们正如他在这里解释的那样 https://www.devexpress.com/Support/Center/Question/Details/T681650/missing-name-spaces-from-self-made-nuget-packages "


As is 在这里解释 https://www.devexpress.com/Support/Center/Question/Details/T681650/missing-name-spaces-from-self-made-nuget-packages

“使用 nuget.packages 时,您还需要通过 nuget 引用它们。这就是它首先不起作用的原因。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设置 Azure Devops 来构建 Devexpress XAF-XPO 项目? 的相关文章

随机推荐

  • Pandas.read_excel 将日期读取到时间戳中,我想要一个字符串

    我使用以下命令将一个大的 Excel 文件读入 pandas read excel 并且该文件具有日期列 当读入 pandas 时 日期默认为时间戳 由于文件很大 我想将日期作为字符串读取 如果这是不可能的 那么我至少想以与原始文件中相同的
  • 为什么主容器上有垂直滚动条?

    我在这里很困惑 自从body为 100 宽度 高度 并且main container也是100 宽 高 为什么会有垂直滚动 我创建了一个 jsFiddle 来解释这种情况 http jsfiddle net dcnnvgs1 1 http
  • 重载的方法组参数会混淆重载解析吗?

    以下调用重载Enumerable Select http msdn microsoft com en us library system linq enumerable select aspx method var itemOnlyOneT
  • EntityFramework 不保存 null 和 false 值

    我正在尝试通过附加断开连接的实体来使用 EntityFramework 6 更新记录 我想将单个布尔字段更新为false但它不起作用 我使用了 sql server profiler 并且在上下文中调用 SaveChanges 时 EF 不
  • stanford corenlp python 与 pexpect 错误

    我正在尝试从 stanford corenlp python 包运行 corenlp py 当我运行它时 我收到此错误 Traceback most recent call last File corenlp py line 592 in
  • List集合中的Select方法

    我有一个 asp net 应用程序 现在我正在使用数据集进行数据操作 我最近开始将此数据集转换为列表集合 但是 在某些地方它不起作用 一是在我的旧版本中我正在使用datarow drow dataset datatable select s
  • Ray on slurm - 初始化问题

    我写这篇文章是因为自从我使用 slurm 以来 我一直无法正确使用 ray 每当我使用命令时 ray init trainer A3CTrainer env my env 我已经在tune上注册了我的env 程序崩溃并显示以下消息 core
  • 将facet_wrap分割成多页PDF

    我已经四处寻找解决方案 但似乎大多数处理将单独生成的图合并为 PDF 格式 而不是将使用分面生成的图分离到 PDF 的单独页面上 示例数据 https drive google com file d 0B8KPGzjWWaw7V0s3UG0
  • mysql - 如何连接字符串并将字符串转换为日期?

    请看一下我的存储过程代码 CREATE DEFINER ninjaboy PROCEDURE getMonthlyTotalScore IN ninjaId int IN month int IN year int BEGIN DECLAR
  • Python - 使用defaultdict制作自定义对象的字典

    我创建了以下课程 包 网站和评论都是字符串 distroDict 是一个 string list 字典 class TableEntry object def init self package website distroDict com
  • 在加载和 Ajax 加载的内容上运行 JS 代码

    请看这个 HTML 代码 div class grid h2 First h2 p Second p div div class grid h2 First h2 p Second p div 我可以使用以下代码更改页面加载时元素的顺序 g
  • C++ lambda 函数的默认调用约定是什么?

    下面的代码是用VC 2012编译的 void f1 void stdcall void f2 void cdecl void cdecl h1 void stdcall h2 int main f1 h1 error C2664 f2 h2
  • Azure - 一个“块 blob”是否被视为一个文件?

    问题背景 这可能是一个简单的问题 但我找不到答案 我刚刚开始使用 Azure 存储 用于存储图像 想知道一个 blob 是否最多可容纳一个文件 这是我的容器 名为fmfcpics 在容器内我有一个名为的块 blobmyBlob其中我有一张图
  • CA2227 的解决方案还是更好的方法?

    我仅使用代码分析来清理 组织并确保针对特定警告的所有实例全局执行这些更改 我已经进入决赛了 比赛是 CA2227 CA2227 集合属性应为只读 将 更改为 通过删除属性设置器来只读 请注意 这是用于 EDI 文档的映射 这些类代表 EDI
  • 降落伞分段错误 - pygame 到 py2exe

    我正在使用 GUI2Exe 将我的 python pygame 游戏编译为 exe 我的字体模块有问题 使用 python 2 7 和 GUI2Exe 中的 py2exe 选项 我已经将 python pygame 和 py2exe 更新为
  • Chrome 的 colspan 和 border 错误?

    在下面的示例中 右侧单元格的顶部有一个边框 它只出现在 Chrome 中 是 Chrome 的 bug 吗 HTML CSS html body height 100 table border collapse collapse width
  • 在 Flutter 中重新发送 OTP 代码 Firebase 电话身份验证

    这可能是重复的 但任何其他线程都没有为我提供正确的答案 有关于 android 原生语言的答案 但没有关于 Flutter dart 的答案 我有以下有效方法 但如果我想将 OTP 重新发送到用户电话号码 我该怎么做 只需一个简单的示例代码
  • java jre 7u45 破坏了 classloader.getResources()?

    我有代码迭代 classLoader getResources META INF MANIFEST MF 的结果以返回类路径上的 jar 列表 从 1 6 0 18 一直到 1 7 0 40 这都工作得很好 现在 1 7 0 45 通过显示
  • EF Core Fluent API 配置防止 TPC 继承

    我有相互继承的模型 但我正在努力让流畅的 api 配置按照我想要的方式运行 假设我有一个基类 它定义了一些核心属性 public class Entity public int Id get set public string Title
  • 如何设置 Azure Devops 来构建 Devexpress XAF-XPO 项目?

    我想在 Azure Devops 中为 XAP 移动应用程序设置持续集成和部署 为了获得 CI CD 我需要设置 Azure Pipeline 来安装正确的包 文档中有一些信息托管您自己的 NuGet 源 https learn micro