问题标签 [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 投票
10 回答
41269 浏览

asp.net-mvc-4 - asp.net webapi 发布 - xml 文件不复制

我有基于此的自动生成帮助的 MVC 4.0 WebApi 项目。

我的模型类存储在我的解决方案中的另一个项目中。为每个项目启用 xml 文件的生成(项目属性 -> 构建 -> 输出 -> XML 文档文件 - 已启用)。

在本地调试中一切正常 - xml 文件被复制到项目目录,我看到来自另一个项目的字段/类的注释。

但是当我使用发布配置文件(到文件夹)时,xml 文件不会复制到输出文件夹。仅复制主 WebApi 项目中的一个 xml 文件。所以我看不到其他项目对课程的评论。

0 投票
1 回答
667 浏览

visual-studio-2012 - 将 PublishProfile 添加到 tfsbuild msbuild 参数会使放置文件夹为空(日志文件除外)

构建服务器:带有更新 4 的 TFS 2012。

我正在使用链式配置来应用 web.config 转换。我有两个解决方案配置,调试和发布。

我的 Web 应用程序、DEV、UAT 和 PROD 有三个发布配置文件。

在我的 buid 服务器中,我已将其设置为使用“发布”配置,并将以下内容添加到 MSBuild 参数中:

构建完成没有任何失败,但它从不将任何输出复制到放置文件夹。放置文件夹应包含一个 _PublishedWebsites 文件夹,但它只包含一个日志文件夹,其中包含日志文件。

在将之前工作的构建与非工作构建的日志文件进行比较时,我发现它复制文件的所有日志都完全丢失了。

我的发布配置文件设置为使用“文件系统”发布,而不是 Web 部署。不确定这是否有所作为。我尝试更改发布配置文件以使用与构建服务器上的放置文件夹相同的目录,但所发生的只是它最终删除了该文件夹及其所有内容。

我想指出,如果我从 msbuild 参数中删除“PublishProfile=UAT”,它会按预期工作,并且日志和 _PublishedWebsites 文件夹都会复制到放置文件夹中。

此外,我知道它正在从发布配置文件中执行操作,因为我可以在日志文件中看到这些操作。它只是没有执行将所有文件复制到放置文件夹的额外步骤。

想法?

0 投票
1 回答
2522 浏览

msbuild - 发布解决方案时,是否可以忽略某些项目?

我们有一些仅在某些环境中使用的项目,所以我想发布以跳过它们。但是,在发布整个解决方案时,我收到以下 msbuild 错误:

发布解决方案时有什么方法可以忽略该项目,以免出现构建错误?

0 投票
1 回答
278 浏览

visual-studio-2013 - Visual Studio 2013 发布禁用“预览”

当我在 VS 中时,我偶尔想快速推动更改。当我转到“发布”提示时,它会强制打开一个预览窗口。见下文。我必须再次明确地按“发布”。反正有直接发布吗?

还有一个键盘快捷键吗?

在此处输入图像描述

0 投票
1 回答
348 浏览

iis - 可以使用发布配置文件将 MSBUILD 或 MSDEPLOY 部署到服务器吗?

我们使用 msdeploy 部署到服务器,但我们已将服务器名称、站点名称、用户名和密码作为参数显式传递。看来,由于所有这些都包含在发布配置文件中,我们可以只传递发布配置文件名称,msdeploy/msbuild 将从那里提取服务器名称等,然后完成剩下的工作。

这可能吗?

0 投票
1 回答
2403 浏览

database - SSDT:如何保护发布配置文件中包含的密码?

我想在 Jenkins 中创建一个发布任务来自动发布我的数据库更改以及我的应用程序。

如果我理解正确,通常的做法是创建一个发布配置文件,其中包含数据库名称以及用于部署的帐户的帐户(登录名和密码)。

这意味着部署帐户的用户名和密码将以明文形式存储在每台开发人员计算机以及版本控制服务器和持续集成服务器上。

尽管我为部署创建了特定的登录名和密码,但对我来说似乎很不安全。

有解决方法吗?我只能想到在持续集成服务器上的 msbuild 命令行中替换密码。

0 投票
1 回答
125 浏览

visual-studio - VS2013 发布配置文件目标

使用诊断日志记录,我可以看到,当我运行发布配置文件时,我收到消息“完成构建目标“GatherAllFilesToPublish””,然后收到“完成构建项目”,然后它实际上将文件从 PackageTmp 目录复制到发布网址。最后我收到消息“站点已成功发布”。

我的问题是,我如何在最后运行命令?文件全部复制完毕后,我想在 publishUrl 目录上运行命令。

0 投票
3 回答
2496 浏览

tfs - 用于 TeamBuild 发布网站的 TFS 构建服务器“找不到有效的 AspnetCompilerPath”

我在 TFS2013 使用 Team Build 时遇到问题,该 Team Build 进行构建然后发布网站。
当我使用 VS2013 和(右键单击)网站项目的发布网站选项从我的开发机器上发布网站时,一切正常。我在 TFS2013 构建服务器上收到以下错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets(421,5):错误:

**

我在 Team Build 设置中使用以下 MSBuild 参数。
/p:DeployOnBuild=true;VisualStudioVersion=12.0;DeployTarget=WebFileSystemPublish;PublishProfile=开发

开发 Web 转换在构建服务器上运行良好,以响应“PublishProfile=Development”参数。Web.Config 文件已针对我们的开发环境进行了适当的转换。如 MSBuild Argument 中所述,我使用 FileSystem 发布选项并希望保持这种状态。

我已修改构建服务器“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets”以在目标“ConfigureForAspNetPreCompileMerge”中记录一些属性,如下所示':

它将以下信息记录到 Team Build 的 website.log 文件中:ConfigureForAspNetPreCompileMerge:

[TargetFrameworkVersion]:v4.0 [AspnetCompilerPath]:[Framework40Dir]:C:\Program Files (x86)\MSBuild\v4.0.30319 [MSBuildToolsRoot]:C:\Program Files (x86)\MSBuild\ [MSBuildRuntimeVersion]:4.0。 30319

[Framework40Dir] 不同于我的本地机器在同一个 MSBuild 目标上记录相同的数据:

12> 任务参数:Text=[TargetFrameworkVersion]:v4.0 12>
[TargetFrameworkVersion]:v4.0 12> 任务参数:Text=[AspnetCompilerPath]:12> [AspnetCompilerPath]:12> 任务参数:Text=[Framework40Dir] : C:\Windows\Microsoft.NET\Framework\v4.0.30319 12> [Framework40Dir]: C:\Windows\Microsoft.NET\Framework\v4.0.30319 12> 任务参数:Text=[MSBuildToolsRoot]: C:\Program文件 (x86)\MSBuild\ 12> [MSBuildToolsRoot]: C:\Program Files (x86)\MSBuild\ 12> 任务参数:Text=[MSBuildFrameworkToolsRoot]: C:\Windows\Microsoft.NET\Framework\ 12>
[MSBuildFrameworkToolsRoot ]: C:\Windows\Microsoft.NET\Framework\ 12>
任务参数:Text=[MSBuildRuntimeVersion]: 4.0.30319 12>
[MSBuildRuntimeVersion]: 4.0.30319

[Framework40Dir] 的 TeamBuild 值为:'C:\Program Files (x86)\MSBuild\v4.0.30319' vs 我的本地 DEV 机器:C:\Windows\Microsoft.NET\Framework\v4.0.30319

这似乎很不寻常。

我还更改了 TeamBuild 文件:'C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets' 以手动将 Framework40Dir 的属性设置为'C:\Windows\Microsoft.NET\Framework\v4.0.30319' 但这似乎会挂起整个 TeamBuild 进程,直到它到达那个点并永远运行 Team Build,直到我手动停止它。

这是在这里工作的相同解决方案:TFS Build Server cannot get publish profile to work: "Can't find the valid AspnetCompilerPath" 但它对我不起作用。该问题与我的问题相同。

构建服务器是最新的 TFS2013.3。我没有在该机器上安装 Visual Studio 2013,并且非常不想这样做。我读过 TFS Team Builds 不需要 VS。

非常感谢您对此问题的帮助.....谢谢。

0 投票
1 回答
108 浏览

visual-studio - Visual Studio 发布配置文件及其配置

我试图更好地了解视觉工作室构建配置。

我目前正在构建一个 webAPI。我还在使用团队城市来执行一些自动构建任务,因此我为此使用了不同的配置文件,而不是我在本地使用的调试配置文件。此团队城市配置文件也有其自己的配置(我将其用于转换)。因为我使用这个配置,所以我无法附加到它(它有错误我无法在本地重现)。

有没有办法在构建调试配置所具有的所有符号和调试数据时使用自定义配置,以便我仍然可以附加。我尝试通过搜索找到更多信息,但我似乎无法找到我正在寻找的正确信息。也许对配置文件和配置的更清晰的解释会有所帮助。

0 投票
1 回答
3682 浏览

webforms - 无法使用 WebForms 站点检测项目文件中的默认目标

我正在尝试将网站(不是 Web 应用程序)自动部署到本地测试服务器。从 VS2013 发布工作正常,但尝试使用 MSDeploy 从 TeamCity 8.1.4(内部版本 30168)运行它我不断收到以下错误:

无法启动 MSBuild.exe。未能在项目文件 \App_Data\PublishProfiles\DeployToLocalTest.pubxml 中检测到默认目标。请在 TeamCity Web UI 的构建配置选项中明确定义目标。Project 没有定义 DefaultTargets 或 InitialTargets。

构建步骤命令行参数:

pubxml 文件如下(留有空间):

注意:我已将敏感信息替换为 XXXX