问题标签 [msbuildextensionpack]
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.
msbuild - IIS7.5 and the MSBuild Extension Pack: Is it possible to specify credentials for a web application's physical path?
I'm writing an MSBuild installer for a web application that's hosted on IIS7.5
Up until now, setting up the web app has been a manual process using IIS Manager.
The process involves setting up credentials for the application's Physical Path but I'm struggling to find out how to do this with the extension pack.
Does anyone know:
- if it's possible to achieve this?
- how?
- which version of the extension pack supports it?
Tia, Mike
c# - 使用 nuget 的 MS Build Extension Pack 无法获取 MSBuild.ExtensionPack.tasks
我正在尝试安装 MS Build Extension Pack 以使用压缩任务。
我按照nuget 网站上的说明进行操作——
即我Install-Package MSBuild.Extension.Pack
在包管理器控制台中执行。
它在我项目的包文件夹中创建了 MSBuild.Extension.Pack.1.8.0 文件夹。
我使用了官方帮助站点中给出的示例:msbuild extension pack web site并将其集成到我的csproj文件中。
但我收到了这个错误:
错误 MSB4019:导入的项目“C:\Program Files (x86)\Jenkins\jobs\ABBYY-OCR\workspace\packages\MSBuild.Extension.Pack.1.8.0\tools\net40\MSBuild.ExtensionPack.tasks”不是成立。确认 <Import> 声明中的路径正确,并且该文件存在于磁盘上。
确实路径 C:\Program Files (x86)\Jenkins\jobs\ABBYY-OCR\workspace\packages\MSBuild.Extension.Pack.1.8.0\tools\net40 存在,但 MSBuild.ExtensionPack.tasks 不存在(这是所以在构建服务器和我的机器上),尽管该文件夹包含其他文件(主要是 dll 文件)。
Nuget 似乎只下载了 Binaries 文件夹。
msbuild - MSBuild - 如果任务失败,则运行替代任务
我有一个任务通过 NuGet 包AfterBuild
对 dll 进行签名signtool.exe
MSBuild.ExtensionPack
由于构建环境之间的一些差异(一些远程构建代理具有不同版本的 Visual Studio,因此 Windows SDK),当代理安装了 SDK 版本 8.0 时,此任务将失败。
当且仅当任务失败时,是否有可能触发不同的任务?
即如果上述任务失败,则运行具有不同路径的替代任务signtool.exe
msbuild - 使用工具 12.0 构建期间的 ArgumentOutOfRangeException
我们有一个(旧的)构建定义是使用TFS 2015 上的(以及一个具有大量自定义操作UpgradeTemplate.xaml
的底层)。TFSBuild.proj
因此,适当地使构建现代化的任务将需要时间。
我想破解 UpgradeTemplate 以添加 C#6/VB14 支持,而无需完全重写构建定义,以使开发人员满意。
我尝试编辑 UpgradeTemplate.xaml 以在 TfsBuild 上添加 ToolPath 属性。但是,既然我已经这样做了,几乎所有项目都会出现以下错误:
ArgumentOutOfRangeException:索引和长度必须引用字符串中的位置。参数名称:长度
经调查,这些项目中的代码行都是这样的:
这些变量的值由Message
vbproj 上的任务打印出来:
BuildDefinition:MyBuild-Testing
BuildNumber:57902
MajorVersion:43
MinorVersion:2
构建服务器在安装的 MSBuild ExtensionPack 上安装了 3.5.10 版。
我该如何解决这个问题?我正在使用新的构建定义对此进行测试,以允许开发人员在设置此设置时继续工作,因此如果可能会破坏现有构建,我不想用最新版本(如果可能)替换 ExtensionPack .
升级模板
特别是,我添加ToolPath="C:\Program Files (x86)\MSBuild\12.0\Bin\"
到第 58 行。
TFSBuild.proj
更新
我认为这可能与运行私有构建(最新 + Shelveset)有关。当我运行正常构建时,BuildNumber
变量是MyBuild-Testing_20170328.1
. 这似乎工作正常。
msbuild - 统一的主要参考
我在让我的项目在服务器上构建时遇到问题。相同的项目在我的机器上本地构建良好(VS 2017 15.8)。Teamcity 服务器也msbuild
安装了相同的工具版本。它没有VS 2017。
在服务器上构建项目会导致以下错误:
“错误 CS0433:‘Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342’ 和 'Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342 中都存在类型‘OracleCommand’ '
到目前为止,我已经能够确定错误的原因是由于 autounify 没有触发/解决项目构建的包引用(我正在使用 nuget 包的包引用)。
我还确认了 teamcity 服务器不包含Microsoft.NET.Build.Extensions.
关于我将如何着手解决此问题的任何想法。我知道在 TC 服务器上安装 VS 2017 可能会解决这个问题,但现在这不是一个选择。任何想法的人?
visual-studio - MSBuild.ExtensionPack.tasks 从 MSBuild 主项目文件继承变量
案例:当我从 MSBuild(使用 VS Build Tools 2017)构建时,我没有从主 msbuild 文件中获得 $(ExtensionTasksPath) 变量的任何值,当我使用集成的 VS MSBuild 构建时,值从主文件传递到 MSBuild.ExtensionPack。任务,这是预期的行为,为什么会发生?为了测试特定情况,我不使用任何属性。