问题标签 [publish-profiles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2526 浏览

dll - MSBuild 将网站项目发布到文件系统不会从引用的项目中复制 dll

语境

在 VS2012 中,我有 1 个 sln 文件,其中有几个项目。有些只是代码库,有些是 Web 应用程序。然后我们还有 1 个网站项目...

这个网站项目最近更新到 .NET 4.0,这也意味着我们需要更新构建服务器使用的 wdproj。我试过这个,但可惜的是,构建一直失败。
我决定摆脱 wdproj 并使用更新的发布配置文件。这在 VS2012 中很容易生成。
在构建服务器上,我使用了以下命令:

在 PublishProfile 中,WebPublishMethod 是 FileSystem,因此只需将所有内容复制到文件夹中。

问题

该网站项目包含 6 个由 msbuild 构建的 ProjectReference。生成的文件夹包含这些项目的 dll,但缺少这些项目的所有引用 dll,也不会复制附属程序集(子文件夹中的编译资源文件)。
所以我错过了几个dll!

有谁知道这个的解决方案?

已找到信息

我可以找到几篇描述相同行为的帖子,但它们要么没有解决方案,要么没有最佳修复。
示例:MSBuild 不会从依赖项目中复制 dll 引用
类似的问题:MSBuild Package via Command line not included my all my Assemblies

我还开始研究 Microsoft.WebSite.Publishing.targets 中使用的特定复制代码的 msbuild 过程。在目标“AfterResolveReferences”中,复制了引用项目的 dll,但不复制依赖的 dll。

非常感谢所有帮助!

0 投票
1 回答
520 浏览

web-config - Web Config Transforms 是对一些配置进行 HTML 编码并破坏它

我有以下内容:

Web.Config(这是 NLog 配置的一部分)

使用发行版构建时,这将转换为以下内容:

如您所见condition表达式已被 HTML 编码,导致>替换>. 这会导致条件不起作用。

在我的内部没有什么特别的web.release.config文件中没有任何特定的内容,它只是从 base 复制过来的web.config

我怎样才能抑制这种编码?

0 投票
1 回答
2752 浏览

asp.net - wpp.targets 中的 MsDeploySkipRules 不适用于 PublishProfiles

我正在通过 Visual Studio 使用 PublishProfile 发布我的 MVC 项目(通过 UI、右键单击项目、发布)并勾选清除目标文件夹的选项。但我不希望清除特定文件夹“下载”

我花了无数个小时试图完成这项工作,我想我的代码与这里解释的人完全相同,但它仍然删除了下载文件夹

同样作为下面的示例,我有“favicon”的 ExcludeFromPackageFiles,如果我取消选择目标文件夹的删除(只是为了表明我的 wpp 目标实际上正在运行),它会起作用。

下面是我的 projectname.wpp.targets 文件

有任何想法吗?

0 投票
1 回答
1093 浏览

tfs - 使用 Microsoft MSBuild 发布目标构建管道?

我正在尝试创建一个Build Pipeline. 我很好奇我是否能够利用现有的 Microsoft 发布 msbuild 目标,或者我是否需要从头开始编写自己的目标。

我有一个大型网站项目(不是 Web 应用程序)。

构建管道如下:

  1. 签到发生
  2. CI触发构建调用01 Commit Stage
  3. 01 Commit Stage自动触发02 Prepare for deployment
  4. 02 Prepare for deployment自动触发03 UAT

这是我希望在每个阶段发生的事情:

  • 01 提交阶段
    • 所有项目文件均已构建
    • 运行单元测试
    • 该网站通过 AspNet_Compiler 运行
  • 02 准备部署
    • 使用先前构建的输出
    • 然后通过 AspNet_Merge.exe 运行输出,以将已编译的 dll 合并到单个版本化程序集中。
    • 将输出工件存储为可部署
  • 03 UAT
    • 上一步中的工件被部署到 QA 进行测试。

我的问题是:

In the second build, how do I skip the build target and simply point the existing Microsoft publishing pipeline to the existing output? Or would I just be better building my own set of MSBuild targets to do exactly what I need?

到目前为止,我最高兴的是建立自己的管道,但不禁觉得我错过了一些 MS 的优点。

0 投票
2 回答
2791 浏览

visual-studio-2012 - VS2012 发布破坏 TeamCity 的配置文件

我已经通过 VS2012 中的发布 GUI 删除了一些旧的旧发布配置文件(包括名为“包”的配置文件)。当我签入代码并通过 TeamCity 运行构建时,我收到以下错误。

出于某种原因,我似乎无法理解对这个旧的网络部署发布配置文件('Package.pubxml')的引用。我在 .proj 文件中看不到任何明显的东西。

构建是 TeamCity 中的香草 VS 构建

关于如何清除这个旧的发布配置文件的任何建议?或者为什么当我只是做一个简单的构建时,它甚至被首先调用?当我通过命令提示符在本地调用 MSBuild 时,一切正常。

非常感谢任何帮助

0 投票
1 回答
1446 浏览

asp.net - 发布配置文件 (.pubxml) 中可用的所有标签/属性的含义是否记录在任何地方?

当您在 Visual Studio 中创建新的 .pubxml 时,它具有在顶级 PropertyGroup 元素下定义的一组基本属性(例如属性 WebPublishMethod、DeployIisAppPath 等)。但是我发现很难找到任何文档来说明这些属性的确切含义,更不用说可以在配置文件中使用的全套可选标签/属性的参考了。是否存在此类文档?到目前为止,了解大量标签/属性的唯一方法是查看其他人的示例 .pubxml 文件。

希望有人能证明我错了,但似乎很难通过谷歌搜索来显示这些文档。

0 投票
2 回答
2887 浏览

visual-studio - 如何扩展我的发布配置文件以部署到多个位置?

以下是为我的开发环境生成的发布配置文件:

我想我想做的事情很简单,我只想在我想发布同一个项目的地方添加一个额外的发布网址。不幸的是,我无法以直接的方式找到有关如何执行此操作的任何信息。所有这些都表明我需要实现一些复杂的 msdeploy 解决方案或简单地回退到不受欢迎的脚本(即 ps/batch + robocopy/xcopy)。

我想象一个人可以简单地做类似的事情:

或者

主要问题是: 如何扩展我的发布配置文件以通过 FTP 或文件系统部署到多个位置?

如果有 RTFM 响应 - 请参阅我可以阅读的地方。

更新 如果可以使用 FTP 进行多次部署,我也会对这样的解决方案感兴趣。

0 投票
1 回答
1056 浏览

visual-studio-2012 - IIS/Visual Studio 发布配置文件

我知道 IIS 允许创建可以“导入”到 Visual Studio 的发布配置文件,以便将站点直接上传到 IIS(因为我已经在使用它)。但是现在我有一个关于在 Visual Studio 中使用这些发布配置文件的更具体的问题。

我有一个 Web 应用程序的解决方案,它包含几个不同的组件,我想在 IIS 中保持分离。
也就是说,我在这个项目中有网络版、移动版和几个网络服务。

我正在配置服务器要做的是将 Web 服务、移动设备和网站分成不同的站点,并使用不同的发布配置文件来发布它们,每个都放在自己的位置。

由于我将所有这些组件都放在了一个 Visual Studio 项目中,是否可以发布配置文件来发布项目的单个组件,而无需我进行“完整发布”?

或者是拥有单独项目的唯一解决方案?(即使它们都在一个 VS 解决方案中)

0 投票
1 回答
10856 浏览

msbuild - MSBuild 从命令行发布 Web 项目使用 Package 而不是 FileSystem

我有一个从命令行发布的 Web 项目,使用发布配置文件执行一些额外的任务(不包括一些文件和文件夹,咕噜声,依次发布另一个项目)。

一台两台机器(A 和 B),在 Visual Studio 中右键单击 > Publish... 并选择正确的发布配置文件可以正常工作。

从历史上看,在两台机器上,它还使用以下命令行:

但是现在,机器 B 没有正确发布。

发布配置文件<WebPublishMethod>FileSystem</WebPublishMethod在顶部配置,但是从日志中,它正在尝试Package发布类型,而没有明显的原因。

这是完整的发布配置文件:

如您所料,因为它只是在做一个Package,所以目录中不会出现任何文件publishUrl。同样,发布配置文件在 VS2013 中工作正常,使用右键单击发布。

在登录机器 AI 中获取以下摘录:

但是在机器B中它没有出现。

稍后在登录机器 A 时,它包含:

但后来在机器 B 的登录中,代替上述内容,它包含:

我能想到的两台机器之间的唯一区别是,我在机器 B(问题机器)上安装了“Windows Azure SDK for .NET (VS2013) - 2.3”的更新。任何想法如何以及为什么这可能会破坏它?

我尝试/p:PublishProfileRootFolder="Properties\PublishProfiles"按照此处所述添加,但这不起作用。

0 投票
1 回答
1373 浏览

c# - Visual Studio 2013 发布配置文件保存不一致

当我修改现有发布配置文件时,Visual Studio 2013 Update 1 并不总是将相应的 pubxml 文件保存在 /Properties 文件夹中。我一直在玩修改文件的游戏,直到我的更改在文件系统中正确注册。

例如,我使用提示编辑和“保存”的一个发布配置文件将其 pubxml 文件标记为删除。我怀疑配置文件被缓存了,Visual Studio 2013 没有实时反映文件系统中的内容。

只有当我转到另一个配置文件或点击发布按钮时,才会显示保存提示。最好有一个保存按钮来强制 pubxml 文件显示最新的。

有没有人有明确的解决方法?我在同一个项目中对 web.config 转换有类似的经验,最终编辑了项目文件。

我确定这与我目前正在处理的特定项目无关,因为我在其他项目中看到了相同的行为。我在 Visual Studio 2010 中从未遇到过这个问题。

如果您刚刚创建了新的配置文件,您将不会看到此问题。我只在修改现有配置文件时看到此行为。