msbuild 相关问题

Microsoft Build Engine,也称为MSBuild,是托管代码的构建平台,是.NET Framework的一部分。

如何在一个管道构建中使用 SonarQube 分析 C# 和 C++ 项目?

我有一个项目由 3 个 C++ 子项目和一个 C# 主项目组成,下面是我的 Yaml 文件,使用 SonarQube 在 azure 管道中分析它。正如您在 YAML 文件中看到的那样,我分析了所有 4 个 pro...

回答 0 投票 0

Blazor 项目名称空间/引用上的 DevOp 构建错误

我有一个 blazor 解决方案,并在 DevOps 上构建它大约 6 个月,没问题。今天突然之间,DevOp 无法构建解决方案。具体错误是: 我不知道这些是什么……

回答 2 投票 0

使用 MSBuild 将 Npm 命令的输出复制到发布目录

我有一个非常简单的任务让 MSBuild 完成。我运行 npm run build 将网站的静态文件放入我项目的 staticsite 文件夹中,与 .csproj 文件位于同一目录中...

回答 0 投票 0

Visual Studio 安装程序没有从发布目录复制所有文件

我对 visual studio 安装程序扩展有疑问。 创建安装程序包时,我需要将文件从子文件夹复制到输出根文件夹。 由于安装程序项目使用 ...

回答 1 投票 0

C#资源文件代码生成字符串格式

这里是aspnetcore repo中的资源文件。 https://github.com/dotnet/aspnetcore/blob/main/src/Identity/Extensions.Core/src/Resources.resx 它的用法在: https://github.com/dotnet/aspnetc...

回答 0 投票 0

使用命令行批量构建 .net 解决方案

我的 Visual Studio 解决方案包含 40 多个项目。每个项目有两个 配置(调试、发布)和平台(Win32/x64/任何 CPU),可能总组合约为 200。 我刚刚...

回答 1 投票 0

仅为没有特定包引用的项目运行 MSBuild 目标

我有一个 Directory.build.targets 文件,其中包含一个 ... 在目录中构建项目之前运行。这个目标检查几个条件(一个,那个

回答 1 投票 0

MSBUILD - “错误 MSB4166:子节点“2”过早退出”在 ILRepacking 时被捕获

问题描述 我有一个没有任何文件的项目 - Sample.csproj。 ILRepack 步骤失败,错误消息显示在问题标题中。 重现步骤 示例.csproj: 问题描述 我有一个没有任何文件的项目 - Sample.csproj。 ILRepack 步骤失败,错误消息显示在问题标题中。 重现步骤 示例.csproj: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>netstandard20</TargetFrameworks> <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.NETCore.Portable.Compatibility" Version="1.0.2" /> <PackageReference Include="Autofac" Version="4.6.2" /> <PackageReference Include="ILRepack.Lib.MSBuild.Task" Version="2.0.18" /> </ItemGroup> <Target Name="ILRepacker" AfterTargets="Build"> <ItemGroup> <InputAssemblies Include="$(TargetPath)" /> <InputAssemblies Include="@(ReferencePathWithRefAssemblies)" Condition="'%(filename)' == 'Autofac'" /> </ItemGroup> <ILRepack InputAssemblies="@(InputAssemblies)" OutputFile="$(TargetPath)" LibraryPath="$(OutputPath)" /> </Target> </Project> 我在 Visual Studio 中构建这个项目并得到以下错误: Target ILRepacker: Task "ILRepack" Added assembly 'D:\Sample\bin\Release\netstandard20\Sample.dll' Added assembly 'C:\Users\aleksandrs.jakovlevs\.nuget\packages\autofac\4.6.2\lib\netstandard1.1\Autofac.dll' Merging 2 assembies to 'D:\Sample\bin\Release\netstandard20\Sample.dll' MSBUILD : error MSB4166: Child node "2" exited prematurely. Shutting down. Diagnostic information may be found in files in "C:\Users\aleksandrs.jakovlevs\AppData\Local\Temp\MSBuildTempAleksandrs.Jakovlevs\" and will be named MSBuild_*.failure.txt. This location can be changed by setting the MSBUILDDEBUGPATH environment variable to a different directory. 版本和配置 MSBuild 版本 - 17.5.1.16304 Visual Studio 版本 - Professional 2022 17.5.3 我能收集到的东西 错误消息中提到的文件夹中没有文件。如果我删除对 Microsoft.NETCore.Portable.Compatibility 的引用或将 CopyLocalLockFileAssemblies 设置为 false 或从 ILRepack 目标中删除 LibraryPath="$(OutputPath)",则构建成功。

回答 0 投票 0

构建 C# 交叉引用项目

我正在编写一个游戏,该游戏由解决方案中的两个项目组成: Engine.csproj 实际的可执行文件,包含我所有的核心引擎代码。 Content.csproj 一个包含我游戏细节的库...

回答 0 投票 0

在预处理器定义的 VS 项目文件中用分号扩展变量

我正在使用这个想法使用名为 $(DefineConstants) 的全局变量从命令行构建脚本中注入预处理器定义。 vcxproj 文件片段: 我正在使用 this idea 使用名为 $(DefineConstants). 的全局变量从命令行构建脚本注入预处理器定义 vcxproj 文件片段: <PropertyGroup Label="Globals"> <DefineConstants></DefineConstants> </PropertyGroup> ... <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> <PreprocessorDefinitions>$(DefineConstants);WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> 我的脚本使用以下(删节)命令行启动msbuild: msbuild.exe Solution.sln /p:DefineConstants=FOO%3BBAR 其中 FOO%3BBAR 是动态的,来自任意数量的用户提供的值。 (使用 %3B 作为分隔符来自 this thread 因为使用原始 ; 字符会导致错误。) 但是编译器 (cl) 命令行显示 $(DefineConstants) 的整个值被放置在一个单独的 /D 开关中,而不是被分成多个。 ClCompile: CL.exe ... /D "FOO;BAR" /D WIN32 /D _WINDOWS 好像变量里面的分号没有展开。有没有办法让它产生/D FOO /D BAR? 到目前为止我尝试过的事情总结: msbuild 命令行 结果在cl命令行 评论 /p:DefineConstants=FOO%3BBAR /D "FOO;BAR" 错误:没有拆分成多个/D /p:DefineConstants="FOO;BAR" /D "\"FOO" /D "BAR\"" 错误:拆分,但包含\" /p:DefineConstants=FOO;BAR 无/一 错误:属性无效 我用以下小测试文件进行了测试: <Project> <Target Name="TestProp"> <Message Text="$(DefineConstants)" /> </Target> </Project> 示例命令和输出: MSBuild 命令 输出 评论 1 msbuild test.proj /p:DefineConstants=FOO;BAR MSB1006 错误 2 msbuild test.proj /p:DefineConstants=FOO;DefineConstants=BAR 酒吧 3 msbuild test.proj /p:DefineConstants=FOO,DefineConstants=BAR 酒吧 4 msbuild test.proj /p:DefineConstants="FOO;BAR" FOO;酒吧 5 msbuild test.proj /p:"DefineConstants=FOO;BAR" FOO;酒吧 6 msbuild test.proj /p:DefineConstants=FOO%3BBAR FOO;酒吧 MSBuild 的/property 开关(简短版本/p)定义了一个MSBuild 属性。 /property 开关接受一个或多个由分号或逗号分隔的名称/值对。 示例 1 是错误的,因为开关需要分号后的名称/值对。 BAR 是没有值的名称或没有名称的值。 同一个名字可以出现多次。 MSBuild 只是重新定义了该属性。基本上使用最后一个值。这就是示例 2 和 3 中发生的情况。 示例 4 和 5 使用引号表示分号是一个名称/值对的一部分。 Example 6 是十六进制编码的分号。 请注意,在示例 4、5 和 6 中,DefineConstants 属性的值不包括引号。 当$(DefineConstants)被替换为PreprocessorDefinitions它应该是: <PreprocessorDefinitions>FOO;BAR;WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> 但是在您的项目中的某个地方,正在添加引号。是否有您未显示的代码,即修改 DefineConstants 属性?

回答 1 投票 0

msbuild 包含/从子目录复制到根目录 - 可能吗?

我可以包含一个子目录中的文件,但它是否放置在构建文件的根目录而不是其原始子目录中? 示例:我们有多个 robots.txt 文件用于不同的 rele...

回答 3 投票 0

如何在 .NET 4.8 项目文件中覆盖解决方案范围的“CodeAnalysisRuleSet”?

运行 VS2022。 我已经设置了一个 PropertyGroup 来为位于我的解决方案旁边的 Directory.Build.props 文件中的解决方案配置 CodeAnalysisRuleSet。 该解决方案混合了

回答 0 投票 0

复制到输出目录复制文件夹结构但只想复制文件

我有一个 VS2008 我想将某些文件从目录复制到我的 /bin/ 文件夹中。我已将文件(位于 /common/browserhawk/)设置为“复制到输出目录”。但是,它复制了 fo...

回答 8 投票 0

error MSB4019: The imported project Microsoft.TextTemplating.targets" was not found

当我在 VS2013 中构建解决方案时,出现此错误。 错误 MSB4019:导入的项目 “C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio 12.0\TextTemplating\Microsoft.TextTemplating.

回答 2 投票 0

如何使用 Directory.Build.targets(不是 .props)设置 TargetFramework 和 TargetFrameworkVersion

我正在尝试使用 Directory.Build.targets 为 SDK 样式项目设置 TargetFramework 并为遗留项目设置 TargetFrameworkVersion。 我的理解是,如果我想添加一个属性......

回答 1 投票 0

错误:找不到导入的项目。确认 Import 声明中的表达式正确,并且该文件存在于磁盘上

构建错误:当我在 Visual Studio 中加载解决方案文件时,它说文件加载失败。完整的错误说: C:\path o\project.csproj : 错误:导入的项目“C:\path o arget.targ...

回答 1 投票 0

在 Visual Studio 2022 中为 VB.NET 应用程序配置的 msbuild 在哪里?

这是一个非常非常基础的问题。在 Visual Studio 2022 中的何处为 VB.Net 应用程序指定 MSBuild 参数? 我有一个正在使用 Visual Studio 2022 开发的 VB.NET 应用程序。我

回答 0 投票 0


Insert a Directory.Build target into project dependency pipeline

我的项目分布在两个解决方案中,称它们为 Mine.sln 和 Theirs.sln(它们位于不同的存储库中)。 Theirs 中的项目都是 Mine 的依赖项。两种解决方案是

回答 1 投票 0

PyQT from Source:以下模块未在此配置中编译

我正在尝试编译 PyQT5,但我需要包含这些模块,有人对如何重新配置以包含这些模块有任何想法吗? cd E:\QT .15.2\Src\qtwebengine E:\QT .15.2\Src\qtweben...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.