问题标签 [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.
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。
非常感谢所有帮助!
web-config - Web Config Transforms 是对一些配置进行 HTML 编码并破坏它
我有以下内容:
Web.Config
(这是 NLog 配置的一部分)
使用发行版构建时,这将转换为以下内容:
如您所见condition
表达式已被 HTML 编码,导致>
替换>
. 这会导致条件不起作用。
在我的内部没有什么特别的web.release.config
文件中没有任何特定的内容,它只是从 base 复制过来的web.config
。
我怎样才能抑制这种编码?
asp.net - wpp.targets 中的 MsDeploySkipRules 不适用于 PublishProfiles
我正在通过 Visual Studio 使用 PublishProfile 发布我的 MVC 项目(通过 UI、右键单击项目、发布)并勾选清除目标文件夹的选项。但我不希望清除特定文件夹“下载”
我花了无数个小时试图完成这项工作,我想我的代码与这里解释的人完全相同,但它仍然删除了下载文件夹
同样作为下面的示例,我有“favicon”的 ExcludeFromPackageFiles,如果我取消选择目标文件夹的删除(只是为了表明我的 wpp 目标实际上正在运行),它会起作用。
下面是我的 projectname.wpp.targets 文件
有任何想法吗?
tfs - 使用 Microsoft MSBuild 发布目标构建管道?
我正在尝试创建一个Build Pipeline
. 我很好奇我是否能够利用现有的 Microsoft 发布 msbuild 目标,或者我是否需要从头开始编写自己的目标。
我有一个大型网站项目(不是 Web 应用程序)。
构建管道如下:
- 签到发生
CI
触发构建调用01 Commit Stage
01 Commit Stage
自动触发02 Prepare for deployment
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 的优点。
visual-studio-2012 - VS2012 发布破坏 TeamCity 的配置文件
我已经通过 VS2012 中的发布 GUI 删除了一些旧的旧发布配置文件(包括名为“包”的配置文件)。当我签入代码并通过 TeamCity 运行构建时,我收到以下错误。
出于某种原因,我似乎无法理解对这个旧的网络部署发布配置文件('Package.pubxml')的引用。我在 .proj 文件中看不到任何明显的东西。
构建是 TeamCity 中的香草 VS 构建
关于如何清除这个旧的发布配置文件的任何建议?或者为什么当我只是做一个简单的构建时,它甚至被首先调用?当我通过命令提示符在本地调用 MSBuild 时,一切正常。
非常感谢任何帮助
asp.net - 发布配置文件 (.pubxml) 中可用的所有标签/属性的含义是否记录在任何地方?
当您在 Visual Studio 中创建新的 .pubxml 时,它具有在顶级 PropertyGroup 元素下定义的一组基本属性(例如属性 WebPublishMethod、DeployIisAppPath 等)。但是我发现很难找到任何文档来说明这些属性的确切含义,更不用说可以在配置文件中使用的全套可选标签/属性的参考了。是否存在此类文档?到目前为止,了解大量标签/属性的唯一方法是查看其他人的示例 .pubxml 文件。
希望有人能证明我错了,但似乎很难通过谷歌搜索来显示这些文档。
visual-studio - 如何扩展我的发布配置文件以部署到多个位置?
以下是为我的开发环境生成的发布配置文件:
我想我想做的事情很简单,我只想在我想发布同一个项目的地方添加一个额外的发布网址。不幸的是,我无法以直接的方式找到有关如何执行此操作的任何信息。所有这些都表明我需要实现一些复杂的 msdeploy 解决方案或简单地回退到不受欢迎的脚本(即 ps/batch + robocopy/xcopy)。
我想象一个人可以简单地做类似的事情:
或者
主要问题是: 如何扩展我的发布配置文件以通过 FTP 或文件系统部署到多个位置?
如果有 RTFM 响应 - 请参阅我可以阅读的地方。
更新 如果可以使用 FTP 进行多次部署,我也会对这样的解决方案感兴趣。
visual-studio-2012 - IIS/Visual Studio 发布配置文件
我知道 IIS 允许创建可以“导入”到 Visual Studio 的发布配置文件,以便将站点直接上传到 IIS(因为我已经在使用它)。但是现在我有一个关于在 Visual Studio 中使用这些发布配置文件的更具体的问题。
我有一个 Web 应用程序的解决方案,它包含几个不同的组件,我想在 IIS 中保持分离。
也就是说,我在这个项目中有网络版、移动版和几个网络服务。
我正在配置服务器要做的是将 Web 服务、移动设备和网站分成不同的站点,并使用不同的发布配置文件来发布它们,每个都放在自己的位置。
由于我将所有这些组件都放在了一个 Visual Studio 项目中,是否可以发布配置文件来发布项目的单个组件,而无需我进行“完整发布”?
或者是拥有单独项目的唯一解决方案?(即使它们都在一个 VS 解决方案中)
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"
按照此处所述添加,但这不起作用。
c# - Visual Studio 2013 发布配置文件保存不一致
当我修改现有发布配置文件时,Visual Studio 2013 Update 1 并不总是将相应的 pubxml 文件保存在 /Properties 文件夹中。我一直在玩修改文件的游戏,直到我的更改在文件系统中正确注册。
例如,我使用提示编辑和“保存”的一个发布配置文件将其 pubxml 文件标记为删除。我怀疑配置文件被缓存了,Visual Studio 2013 没有实时反映文件系统中的内容。
只有当我转到另一个配置文件或点击发布按钮时,才会显示保存提示。最好有一个保存按钮来强制 pubxml 文件显示最新的。
有没有人有明确的解决方法?我在同一个项目中对 web.config 转换有类似的经验,最终编辑了项目文件。
我确定这与我目前正在处理的特定项目无关,因为我在其他项目中看到了相同的行为。我在 Visual Studio 2010 中从未遇到过这个问题。
如果您刚刚创建了新的配置文件,您将不会看到此问题。我只在修改现有配置文件时看到此行为。