Visual studio 使用“发布”的Web应用程序的CI/CD管道;将所有输出合并到单个程序集“;

Visual studio 使用“发布”的Web应用程序的CI/CD管道;将所有输出合并到单个程序集“;,visual-studio,continuous-integration,azure-pipelines,Visual Studio,Continuous Integration,Azure Pipelines,我一直在与Microsoft合作,以使CI/CD管道正常工作,并最终按预期构建和部署了所有内容,但缺少一个重要部分: 以前,我们手动发布到文件系统,在发布配置文件的设置中,在文件发布选项>发布期间预编译中选中,并且在配置/高级预编译设置中,我们已选中将所有输出合并到单个程序集,文件名为ourProduct.dll,用于发布预编译输出的Bin文件夹中的位置。因此,我们从那里手动复制PreCompiledOutput文件夹中的所有内容,并将其粘贴到目标服务器的相应目录中,所有旧文件都将替换为新文件

我一直在与Microsoft合作,以使CI/CD管道正常工作,并最终按预期构建和部署了所有内容,但缺少一个重要部分:

以前,我们手动发布到文件系统,在发布配置文件的设置中,在文件发布选项>发布期间预编译中选中,并且在配置/高级预编译设置中,我们已选中将所有输出合并到单个程序集,文件名为ourProduct.dll,用于发布预编译输出的Bin文件夹中的位置。因此,我们从那里手动复制PreCompiledOutput文件夹中的所有内容,并将其粘贴到目标服务器的相应目录中,所有旧文件都将替换为新文件

我们的CI/CD管道仅在没有 正在创建ourProduct.dll并将其放置在Bin文件夹中-无用

以下是构建定义的构建解决方案步骤的MS构建参数: /p:DeployOnBuild=true/p:WebPublishMethod=Package/p:PackageAssingFile=true/p:SkipinValidConfiguration=true/p:PublishProfile=“CompiledOutput”/p:PackageLocation=“$(build.artifactstagingdirectory)\”/p:OutDir=“$(build.binariesdirectory)\”

“CompiledOutput”是发布配置文件的名称

顺便说一句,我们将VisualStudio 2017与VST结合使用


我们非常接近-任何指导都将不胜感激。

您是否尝试传递MSBuild标志
/p:precompilebeforeprealish=true
?顺便说一句,没有预编译它不是“无用的”。如果未预编译,则在部署后首次加载应用程序时会进行编译。它是网站项目吗?如何在Visual Studio Build task的解决方案输入框中指定解决方案/项目?@DanielMann-感谢您的提示,我添加了该选项,现在进行了更改,编译时仍然没有DLL,并且以前在没有DLL的情况下进行了预编译。另外,当我说无用时,我的意思是为了我们的目的,我们不仅需要用于web应用程序的DLL,还需要用于我们在其他地方运行的服务的DLL。很抱歉这么长时间没有回复!我在Micorosft与3个不同的团队合作,他们提出的所有建议都没有成功,包括你们提出的许多建议。他们能够成功地使用一个新的MVC应用程序,但使用一个遗留的、迁移的web forms应用程序,却没有成功。