Msbuild CLI platform=x64和项目文件属性<Platform>x64</Platform>的结果不同
这个问题是关于在msbuild命令行上使用/p:Platform=x64与在csproj文件中使用x64之间的差异. 我用一个可执行文件(Hsconsole)和一个类库(HSlogger)制作了两个简单的C#NET 5解决方案/项目,以调查MSB3270架构不匹配何时发生.这是一个示例错误消息. warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "HsLogger", "AMD64". **注意错误消息谈论MSIL(HSCONSOLE)和AMD64(HSLOGGER),即使命令行和项目文件都指定X64,而不是AMD64. HSlogger Logger使用后构建事件将
0 2024-04-21
编程技术问答社区
使用MSBuild 4.0,从MSBuild任务中传递要在c#项目文件中展开的属性名称,如何?
我为我们的CI过程创建了一个MSBUILD脚本,在此脚本中,我使用MSBuild任务来编译解决方案: Output 我希望C#项目文件使用 的输出路径 输出\ myassemblyName1用于MyAssemblyName1 的项目 输出\ myassemblyName2用于MyAssemblyName2项目2 汇编名称属性来自C#项目文件,我希望在构建项目时将其扩展在Outputpath属性中. 现在,%24(assemblyName)仅在文件系统上产生输出\ $(a
0 2024-04-21
编程技术问答社区
从MsBuild中定义C#预处理程序
在我的C#文件中,我想拥有这样的预处理器条件: #if DEMO ShowSplash(); #endif 我正在从命令行运行此命令: MSBuild MySolution.sln /p:Configuration=Release /p:Platform="Any CPU" /p:DEMO=1 然后,在MyProject.csproj文件中,我有以下内容: TRACE;DEMO=$(DEMO) 但是,预处理器似乎跳过了我的飞溅代码. (我知道"任何CPU"和" AnyCPU"之间的区别.我从未触摸过,所以我很确定Visual Studio不在乎该空间.) DEMO未定义?同样
0 2024-04-21
编程技术问答社区
用msbuildworkspace打开一个解决方案会出现没有细节的诊断错误
我试图用MSBuildWorkspace与Roslyn分析解决方案. 该解决方案是一个新的解决方案,其中有2个类库项目,一个引用另一个. 它们是在Visual Studio 2017中创建的.NET 4.6.2. 打开解决方案时,我会在workspace.diagnostics中收到两个通用错误. 处理文件' pathtoproject '时,msbuild失败了 诊断或输出窗口中没有其他内容来指示为什么它未能处理项目文件. 打开解决方案的代码: namespace RoslynAnalyse { class Program { static void Main(string[] args) { LocalAnalysis(); } private static void LocalAnalysis() { va
0 2024-04-21
编程技术问答社区
我怎样才能防止不良的项目参考?
我们将带有TFS的C#项目用作源控件和CI构建. 我一直在发现其他开发人员在使用我们的/Libs文件夹(我们保留第三方组件) 时,正在错误地引用/Bin目录的组件. 作为解决方案构建或CI构建的一部分,我该怎么办(我们也使用PowerShell)检查并在任何人执行此操作时检查构建? 解决方案 添加 在编译阶段之前执行. 循环的所有新更改包含文件扩展名,以 *proj. 结尾 对于所有 *proj文件,请搜索其内容HintPath包含\Bin的元素. 如果结果> 0,请带错误的退出构建,列出策略失败项目. 要完成解决方案,还考虑执行 自定义入住策略 适用于VS客户. 其他解决方案 由于您使用的是PowerShell,您也可以将其用于此问题;该原理很简单:解析所有CSPROJ文件,并检查HintPath Doe是否不包含您的bin目录.在PowerShell中是类似的(我才刚刚开始学习PS,所以可能会有较短的方法): # define path t
0 2024-04-21
编程技术问答社区
在Visual Studio C#项目中自定义构建动作属性
在Visual Studio C ++项目中,我可以定义自定义构建操作和相应的属性规则(请参阅MSBUILD文件夹下的cl.xml).如何在C#项目中为自定义构建操作创建这样的规则?在MSBUILD文件夹下,有一个文件Microsoft.CSharp.CurrentVersion.targets引用CSharp.ProjectItemsSchema.xaml,CSharp.xaml和CSharp.BrowseObject.xaml,看起来像我需要的定义一样加重.使用Procmon,我可以看到这些文件根本无法访问.定义自定义构建操作的正确方法是什么? 要澄清我想完成的工作,这是一个例子: 我将图像文件(.png)添加到项目 我有一个特殊的映像资源"编译器"的变换图像(此编译器是使用MSBUILD目标定义的) 我想更改图像文件的属性(例如目标分辨率,格式等).在C ++项目中,我可以为此打开"文件属性"对话框. 这些属性被保存为MSBUILD项目元数据并转发到MSBUILD目
0 2024-04-21
编程技术问答社区
引用的System.Net.Http程序集没有被复制到dotnet msbuild的输出bin/Release目录中。
我有以下项目配置: 1)Project1:.NET框架4.6.1项目 2)Project2:.NET标准项目netstandard2.0;net461 3)Project3:.net标准项目,netstandard2.0;net461 so,Project3参考System.Net.Http. Project2参考Project3和Project1参考Project2. 当我在Visual Studio 2017中构建任何配置时,Project1\bin\%Configuration%\目录包含System.Net.Http.dll以及其他System汇编. 我还可以看到,以下绑定重定向是在Project1.exe.conf中生成的:
0 2024-04-21
编程技术问答社区
用于TFS持续集成的NuGet包
我正在尝试使我们的TFS构建过程以从解决方案的项目中生成Nuget软件包.我们旨在创建一个专用软件包源,因此所有其他内部产品都可以使用Nuget下载/更新框架. 到目前为止,我们已经运行了构建过程(很长一段时间)并对我们的库版进行版本,而唯一剩下的就是" nuget pack "所有项目. 到目前为止我已经尝试的是: nuget spec *.csproj,然后nuget pack *.nuspec; nuget spec *.dll,然后是nuget pack *.nuspec; nuget pack *.csproj直接(否.nuspec文件); 所有人似乎都在起作用,但是所有人似乎都失败了我实际上需要它们才能成功的步骤. 我实际上从上述步骤中得到的实际上得到了什么: 否依赖项列表, no 参考²列出了; 否依赖项列已列出, no 参考已列出,目录中的所有dll都包装在同一.nupkg上(使用-includereDrecrededProj
0 2024-04-21
编程技术问答社区
Visual Studio在构建后何时以及为何在 "bin "内创建 "x86 "子文件夹?
我有一个解决方案,其中包含3个可执行项目.我的所有项目均配置为" X86"平台,在解决方案配置管理器中,我什至删除了其他类似"混合"和"任何CPU"之类的其他项目(因为这是因为我使用的是一些限制我的第三方库坚持x86).所有3个可执行项目都是用C#构建的简单Winforms应用程序,Targetting .NET 4完整配置文件. 现在,当我构建一个可执行的项目之一时,其输出构建在" bin/x86/realease"目录中.当我构建另一个可执行项目时,其输出将内置在" bin/preasion"中,而无需" x86"子文件夹. 为什么乍一看 - 不一致? 更新 我需要修复它,因为我想在成功构建后运行一些脚本,他们希望输出在一致的文件夹结构中. 解决方案 如果您转到Project> Properties>在Visual Studio中构建您将看到您的目标平台(在其他设置中). 如果您的构建目标为32位(x86)或'任何CPU' ,则创建此文件夹
0 2024-04-21
编程技术问答社区
.Net项目的TeamCity增量测试
我正在构建一个模块化WPF应用程序.每个屏幕都是一个高度独立和孤立的单元.共享的唯一一件事 - 外壳和带有可重复使用服务的立面接口(消息总线,持久性,窗口管理等)的常见库. 由于模块松散耦合,当单个模块更改时,重新测试所有内容是没有意义的.我只想测试发生的变化.如果公共库有变化 - 一切都应重新测试. 从源控件差异中,您可以轻松地获取更改的文件列表,从而解决受影响的项目(CSPROJ文件具有列出的所有文件).您还可以从CSPROJ文件(正在使用它,受到影响的人)中解析项目依赖关系.所有这些信息都足以说明实际需要测试的内容.因此,问题听起来可以解决. 有人通过团队成就了吗?有什么建议么?我看到有一个针对爪哇人的解决方案: 03/增量测试 - 与团队/ .net领域呢? 解决方案 您必须创建构建配置并生成人工制品并运行测试. 例如,您有项目Library,Library.Tests,Portable,Poratble.Tests,App和App.Test
0 2024-04-21
编程技术问答社区
当我试图构建它时,Visual Studio执行了一些东西。我怎样才能找出停留在这背后的代码?
如标题中,我从github下载了一个程序,但是当我尝试构建它时,它说: 命令"" " e:\ lolnotes \"" e:\ lolnotes \ lolnotes \""用代码2退出. gitexport.exe不起作用,因为我没有安装git.但是我想知道,如何在程序源中找到该代码正在执行的位置?简单的CTRL-F和通过解决方案进行搜索不起作用,因此我认为它可能隐藏在配置文件中的某个地方?有人知道它可以在哪里吗? 解决方案 它也可能是项目文件的自定义的一部分(类似于Nuget所做的).为了确切地找出射击的位置,请打开项目构建输出的冗长,以诊断工具\ options \ projects \ projects and Solutions \ Solutions \ build and and and in.然后重建并搜索输出查看gitexport.exe.这应该为您提供更好的上下文. 其他解决方案 这可能是帖子或预构建事件. 在项目中,打开"属性",然后查
0 2024-04-21
编程技术问答社区
Azure DevOps 2019服务器在执行测试的情况下失败了,并覆盖了代码
当前情况: 启用我们的 Azure DevOps 2019服务器(代理)构建 asp.net core 3 和 .net core 3 应用程序,我们安装了的Expander 工具).这不是最好的练习,但是Azure DevOps 2019服务器和代理安装在同一台计算机上. 除了收集编码器覆盖范围外,一切都如预期的.申请是构建并提供了工件.我们可以确认,释放后的所有工件都与预期一样工作. 就像已经提到的一样,除了代码覆盖范围外,一切都很好. 构建的应用程序是.NET Framework 4.6.2应用程序,并且是在VS 2019构建工具安装之前使用VS 2017 Enterprise成功构建的. 用于测试,在Visual Studio build任务之后,我们在构建管道中使用Visual Studio Test的mstest.测试任务的配置如下: variables: SolutionRootDirectory: 'MySolutionRoot'
0 2024-04-21
编程技术问答社区
Roslyn:如何在Visual Studio之外加载一个现有项目
在此问题中写的: 我可以从内部访问msbuildworkspace MSBUILD任务类? 您不能从MSBuild任务中使用MSBuildWorkspace进行同一项目.但是,只有其他两个选项是VisualStudioWorkspace和AdhocWorkspace. 这是否意味着没有选择从MSBUILD任务加载项目? 解决方案 我刚刚在这篇文章中找到了解决方案: 应用程序,但不在MSBUILD任务 仍然感觉像是解决方法,但是它正在工作.实际上,它有一个好处,因为该项目不必再汇编以加载项目! 其他解决方案 您可以使用CommandLineProject.CreateProjectInfo从设置命令行参数创建一个项目,因此,如果您有CSC命令行,则可以使用.
0 2024-04-21
编程技术问答社区
为什么MSBuild无法在Directory.Build.props中找到我的常量?
我正在尝试使用 directory.build.props 文件为我的解决方案定义一个简单的预处理器常数. 为了测试目的,我创建了一个控制台应用程序(C#),并添加了 directoy.build.props 文件,就在生成的 .csproj 文件旁边. TEST1 我还手动编辑了 .csproj 本身来测试实际上有效: DEBUG;TRACE;TEST2; 现在实际代码: static void Main(string[] args) { #if TEST1 // NOT WORKING! Console.WriteLine("
0 2024-04-21
编程技术问答社区
第三方引用的dll没有被复制到构建中
我有一个第三部分.NET DLL正在参考,并由我的DLL/类库项目" A"使用.我的控制台应用程序项目" B"参考项目" A". 我的问题是第三派对DLL没有被复制到Console App Project" B"的构建中. 这里有什么问题?我的dll/class库中的第三派对dll ref'D localcopy = true. 我正在使用VS2008和.NET 3.5. 预先感谢 解决方案 项目B基本上需要明确参考第三方DLL.引用并非假定为传递性. (如果您尝试使用项目A中的任何类,这些类别从第三方库中暴露了类型,甚至会遇到汇编错误.) 这可能会很痛苦,但至少可以清楚地表明您真正拖累了什么.
0 2024-04-20
编程技术问答社区
Java.Interop.Tools.Diagnostics.XamarinAndroidException:错误XA2006
我正在尝试发布Xamarin.Forms应用程序,但是当我更改以在Android项目和构建的配置中发布时,我会收到以下错误: Java.Interop.Tools.Diagnostics.XamarinAndroidException: error XA2006: Could not resolve reference to 'System.Int32 Xamarin.Forms.Platform.Resource/String::ApplicationName' (defined in assembly 'Syncfusion.SfChart.XForms.Android, Version=13.2451.0.29, Culture=neutral, PublicKeyToken=null') with scope 'Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Wh
0 2024-04-20
编程技术问答社区
如何自动(从命令行)安装Visual Studio Build Tools构建环境,用于C++、.NET、C#等。
注意:我已经阅读我如何在不安装IDE的情况下在构建服务器上安装MSBuild的VS2017版本?,但这不会使用完全无关的脚本安装回答. 这些年来,这是我注意到的: 我从github下载一个项目;或打开我的一个旧项目(例如4年前) 运行msbuild.exe theproject.sln 糟糕,我没有正确的Visual Studio版本/.NET Framework版本/正确的SDK(示例情况此处等等) ) 然后花费x小时在网站上浏览,例如 https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019 ,安装一个软件包,然后注意到它不是正确的(msbuild),下载,下载,另一个软件包,安装等等. 最后,您下载了8 GB的包裹,等待下载,等待安装,重新启动,您仍然不确定它可以正常工作 您的计算机现在与可能相互碰撞的5个不同版本的SDK的杂乱
0 2024-04-20
编程技术问答社区
如何通过命令行在MSBuild中指定CodeAnalysisRules
我希望能够在CommandLine MSBUILD中指定代码分析图(用于代码分析/FXCOP). 项目文件中会有类似的内容: -Microsoft.Globalization#CA1301;-Microsoft.Globalization#CA1302 所以我假设我使用这样的东西: MSBuild.exe /property:RunCodeAnalysis=true /property:CodeAnalysisRules=-Microsoft.Globalization#CA1301 效果很好,但是当我想添加另一个规则时,它不喜欢半结肠: MSBuild.exe /property:RunCodeAnalysis=true /property:CodeAnalysisRules=-Microsoft.Globalization#CA1301;-Microsoft.Globaliza
0 2024-04-20
编程技术问答社区
MsBuild在Visual Studio Online上找不到恢复的NuGet-Packages
我尝试构建一个在Online在Visual Studio上的外部Git-Reposority中存储的解决方案. 它具有以下步骤: 1:git Restore -Works 2:Nuget Restore -Works 3:构建 - 不起作用 我在查看日志时的第一个猜测是,msbuild并不是在寻找Nuget存储它们的软件包. Nuget Restore的一些行: 2018-03-14T21:10:11.0352862Z Completed installation of AngleSharp 0.9.9 2018-03-14T21:10:11.0353230Z Adding package 'AngleSharp.0.9.9' to folder 'D:\a\1\s\packages' 2018-03-14T21:10:11.0353563Z Added package 'AngleSharp.0.9.9' to folder 'D:\a\1\s\pa
0 2024-04-20
编程技术问答社区