Tag: msbuild

在c#项目中使用XSD Build任务

如何在ac #project中使用c ++ XSD Task ? 我已经在csproj文件中创建了这样的任务: 但是构建输出说,尽管intellisense在编辑项目文件时为我提供了XSD任务: Error 1 The “XSD” task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is “public” and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly […]

如何将创建的数据库项目包含在cs项目中创建dacpac

我有一个单独的数据库项目,我想在同一个解决方案中构建,然后引用创建的dacpac。 当我尝试添加数据库项目时,它构建正常,并且dll被添加到辅助项目文件,但dacpac不是。 有没有办法让dacpac通过msbuild复制到我的主项目中? 我一直认为应该有一种方法来修改sqlproj文件或csproj文件,以便将dacpac作为项目输出之一包含在内。 我对msbuild的了解并不广泛,我无法弄清楚。 在我看来,我需要添加dacpac以某种方式说’@(ReferenceCopyLocalPaths)’项目,但我无法弄明白。 任何提示或建议将不胜感激。 我试着做一些像MSBuild那样引用的东西- 子目录中所有bin目录的ItemGroup : <!—-> 这对DacPacs没有任何作用(添加通配符时)。 此外,我尝试引用sqlproj文件中的一个项目组,但它是空的:

如何添加对Azure Function C#项目的引用?

在最新的Azure SDK的帮助下,我获得了针对Visual Studio的Azurefunction工具,以便我可以在内部调试我的Azurefunction – 很酷。 我的azure函数需要使用Business对象的代码 从.csx脚本我可以在开始时使用这样的指令引用.dll #r “ServiceBusQueue.Shared.dll” Azurefunction项目中没有“添加引用…”。 我只能添加一个Build依赖项,以便首先构建业务对象dll。 但是当更新DLL代码时,不会将dll输出复制到我的azure函数目录的bin中。 在Web上发布是正确的这是为了在本地调试会话中使用最新的业务对象代码。 由于Azurefunction项目中没有Prebuild事件的选项卡,我找到的解决方案是在Function App项目中编写Prebuild event .funproj文件 批处理文件: rem %1 is the configuration, debug or release echo %1 mkdir .\ServiceBusQueueTriggerCSharp\bin copy ..\ServiceBusQueue.Shared\bin\%1\*.* .\ServiceBusQueueTriggerCSharp\bin rem DOS subtlety : test than return code is equal or greater than 1 rem : make the compilation to fail if […]

TransformXml任务通过使用mono的linux上的msbuild失败

按照本回答中的步骤操作后,尝试通过mono(使用msbuild)构建项目时,出现以下错误: (AfterCompile target) – > project.csproj(469,5):错误MSB4062:无法从程序集中加载“TransformXml”任务/usr/lib/mono/xbuild/Microsoft/VisualStudio/v15.0/Web/Microsoft .Web.Publishing.Tasks.dll。 确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Microsoft.Build.Framework.ITask的公共类。 看起来好像Microsoft.Web.Publishing.Tasks.dll不可用。

如何通过命令行在MSBuild中指定CodeAnalysisRules

我希望能够在命令行MSBuild中指定Code AnalysisRules(用于代码分析/ 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.Globalization#CA1302 MSBUILD : error MSB1006: Property is not valid. Switch: -Microsoft.Globalization#CA1302 如何指定多个规则? 我很乐意引用一个文件,但我不想只更改项目文件。 Backgroud :我想为持续集成服务器创建一组规则(在我的例子中是Hudson)。 注意:我正在运行Visual Studio 2005

使用Azure的MSBuild – PublishProfileSet计算结果为“”

我正在尝试将我的项目部署到Azure。 我已经在Azure上用EF代码进行了几个小时的摔跤,但是我让它去了一次并创建了一个用户。 我去发布更新,现在我收到以下错误: Invoke build failed due to exception ‘Expected “$(_PublishProfileSet)” to evaluate to a boolean instead of “”, in condition “$(_PublishProfileSet) And ‘$(PublishProfileName)’ ==” And ‘$(WebPublishProfileFile)’==””. 我删除了发布配置文件并对其进行了读取,我还从Azure中检索了一个新的配置文件。 这个问题不断出现。 我无法在任何地方的解决方案中找到PublishProfileSet,而且我不确定它应该去哪里或应该设置什么。 关于如何从中恢复的任何想法?

解决方案在Visual Studio中不运行/构建/重建

尝试在解决方案中运行Visual Studio中的构建/重建时,没有任何反应。 我可以使用MSbuild.exe从命令提示符运行构建,这给了我期望的输出(构建成功) – 但是当试图从visual studio运行它时,没有任何反应。 也没有调试输出或构建输出。 该项目是一个MVC项目,其中包含对其他项目的一些参考。 我可以创建一个新的MVC项目,它运行得很好! 知道什么可能触发这种行为吗? 使用Visual Studio 2015。 我尝试过以下方法: 重启VS. 将解决方案文件与新的解决方案文件进行比较 从MSBuild手动触发构建(OK) 切换调试/发布配置 单独建设项目 更新了NuGet 构建配置没问题(所有内容都检查为Build) 该说,解决方案是在一个git存储库中,另一个在这个项目上工作的人已经在Visual Studio 2013的后期进入 – 但我不知道这是否与该问题有关。

MS2015中的MvcBuildViews需要很长时间

我们正在转换解决方案以使用新的Roslyn编译器。 当我在发布模式下通过teamCity构建它时,MVCBuildViews步骤仍然使用aspnet_compiler.exe,预编译视图大约需要15分钟。 在.NET 4.5上使用以前版本的aspnet_compiler.exe进行相同的过程需要3分钟 这是需要一段时间的命令: C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_compiler.exe -v temp -p E:\ path \ to \ web \ project \ Directory 我试过调整MSBuild参数,但没有改变。 这是一个已知问题,有什么解决方法,我是否需要使用Roslyn预编译视图? 如果它是一个选项,关闭MVCBuildViews步骤的缺点是什么(我相信我们选择在发布时进行预编译是导致此步骤运行的原因)。

ItemGroup项目范围,或者“为什么MSBuild讨厌我?”

我有一个解决方案,我试图在TFS上构建。 我想更新所有适当文件的版本,我一直试图完成这项工作。 关于如何做到这一点有很多链接,但由于一个小问题,它们都不适合我…范围。 我的树看起来像这样: test.proj application.sln 应用(文件夹) main.cs 属性(文件夹) AssemblyInfo.cs中 当我从解决方案文件夹运行“c:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ MSBuild.exe test.proj”时…我得到以下输出: Microsoft (R) Build Engine Version 3.5.30729.1 [Microsoft .NET Framework, Version 2.0.50727.3074] Copyright (C) Microsoft Corporation 2007. All rights reserved. Build started 7/6/2009 3:54:10 PM. Project “D:\src\test.proj” on node 0 (default targets). CSFiles: ‘application\Properties\AssemblyInfo.cs’ DesktopBuild: […]

格式化自定义工具的输出,以便我可以在Visual Studio中双击错误并打开文件

我编写了一个命令行工具,它预处理了许多文件,然后使用CodeDom编译它们。 该工具将版权声明和一些进度文本写入标准输出,然后使用以下格式从编译步骤中写入任何错误: foreach (var err in results.Errors) { // err is CompilerError var filename = “Path\To\input_file.xprt”; Console.WriteLine(string.Format( “{0} ({1},{2}): {3}{4} ({5})”, filename, err.Line, err.Column, err.IsWarning ? “” : “ERROR: “, err.ErrorText, err.ErrorNumber)); } 然后它写入错误的数量,如“14个错误”。 这是错误如何出现在控制台中的示例: Path\To\input_file.xrpt (73,28): ERROR: An object reference is required for the non-static field, method, or property ‘Some.Object.get’ (CS0120) 当我在VS2008中将其作为自定义工具运行时(通过在我的项目程序集之一的后期构建事件命令行中调用它),错误在错误列表中显示格式很好,每列中都有正确的文本。 当我翻转文件名时,会弹出完全限定的路径。 行和列与源文件不同,因为预处理很好。 […]