标签: msbuild

MSBuild:不生成类库配置文件

我已经使用MSBuild活动为TFS中的构建过程创建了自定义工作流。

由于某种原因,在输出文件夹中,我正在获取所有类库项目的配置文件。由于我只需要我实际构建的项目的应用程序配置文件,是否存在命令行参数来防止MSBuild在输出目录中创建[library] .dll.config文件?

msbuild tfs

1
推荐指数
1
解决办法
560
查看次数

在VS2013中单击构建时始终运行的MSBuild目标

我想在VS2013中单击项目的构建时运行目标.我尝试了几种方法,包括将项目的DefaultTargets更改为自定义项,然后让自定义目标调用我的目标,然后编译.但问题是它只能工作一次.如果我再次运行它,它似乎没有运行任何东西.

反正有没有这样做?

msbuild visual-studio-2013

1
推荐指数
1
解决办法
1120
查看次数

TFS多个构建定义之间具有共享资源

我正在尝试计划TFS服务器的构建定义,并且我遇到了一个问题/问题,我希望在继续之前澄清一下.

这是我们项目设置的简化版本,对不起我在这台机器上没有UML工具的粗糙:)

解决方案示例

我想要完成的是正确的构建定义,以便:

  1. 如果解决方案1具有签入,则构建解决方案1及其依赖项目依赖项目.
  2. 如果解决方案2具有签入,则构建解决方案2及其依赖项目依赖项目.
  3. 如果Dependency Project有签入,则构建解决方案1和解决方案2(使用Dependency项目)
  4. 如果完成单个签入,触及所有3个项目(作为示例),仅构建解决方案1和2 一次

我可能会使用gated check-ins来防止在构建中断时提交源代码控制.

已经有一段时间了,但我相信当时我有3个构建定义:

  • Monitor Solution 1文件夹 - 构建解决方案1
  • Monitor Solution 2文件夹 - 构建解决方案2
  • Monitor Dependency Solution文件夹 - 构建解决方案1和解决方案2

这在大多数情况下都有效,但如果在解决方案1和依赖解决方案IIRC上发生单一登记,则解决方案1将构建两次.

虽然这是一个不便,我不具备的数字出来,这将是很好知道如何做这正确的方法.

msbuild tfs continuous-integration build-definition build-dependencies

1
推荐指数
1
解决办法
678
查看次数

MSBuild zip目录任务没有任何外部依赖(没有MSBuildCommunityTasks)

我试图找到一种方法来使用MSBuild压缩构建而不使用MSBuildCommunityTasks.我确实设法在线找到一些代码,但它似乎占用了所有文件,甚至是目录中的文件并将其放在一个文件中(没有目录).

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<UsingTask TaskName="Zip" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
  <InputFileNames ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
  <OutputFileName ParameterType="System.String" Required="true" />
  <OverwriteExistingFile ParameterType="System.Boolean" Required="false" />
</ParameterGroup>
<Task>
  <Reference Include="System.IO.Compression" />
  <Using Namespace="System.IO.Compression" />
  <Code Type="Fragment" Language="cs">
  <![CDATA[ 
    const int BufferSize = 64 * 1024;

    var buffer = new byte[BufferSize];
    var fileMode = OverwriteExistingFile ? FileMode.Create : FileMode.CreateNew;

    using (var outputFileStream = new FileStream(OutputFileName, fileMode))
    {
      using (var archive = new ZipArchive(outputFileStream, ZipArchiveMode.Create))
      {
        foreach (var inputFileName in InputFileNames.Select(f => f.ItemSpec)) …
Run Code Online (Sandbox Code Playgroud)

msbuild zip msbuildcommunitytasks

1
推荐指数
1
解决办法
1105
查看次数

具有MSBUILD错误的TFS上的HeatDirectory失败MSB4166:子节点"3"过早退出


我在我的*.wixproj文件中使用HeatDirectory任务,该文件在我的机器上工作得非常好,在本地构建.

但是,在TFS上,它失败并出现以下错误:

C:\ Program Files(x86)\ WiX Toolset v3.8\bin\Heat.exe dir D:\ Builds\32\48\bin\Debug\InstallSrc\WebApp\-cg CompGrp_WebApp -dr WebApp -ke -scom -sreg -srd -var var.WebAppSrc -v -ag -sfrag -suid -out WebApp_.wxs无法加载文件或程序集'file:/// C:\ Program Files(x86)\ WiX Toolset v3.8\bin\Heat .exe'或其依赖项之一.尝试加载格式不正确的程序.在System.Reflection.RuntimeAssembly上.nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark&stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,Evidence assemblySecurity,RuntimeAssembly reqAssembly,StackCrawlMark&stackMark,在System.Reflection.RuntimeAssembly.InternalLoadFrom的System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,Evidence assemblySecurity,RuntimeAssembly reqAssembly,StackCrawlMark&stackMark,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)中的IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks) (String assemblyFile,Evidence securityEvidence,Byte [] hashValue,AssemblyHashAlgorithm hashAlgorithm,Boolean forIntrospection,Boolean suppressSecurityChecks,Stac kCrawlMark和stackMark)在System.Reflection.Assembly.LoadFrom(String assemblyFile)at Microsoft.Tools.WindowsInstallerXml.Build.Tasks.WixToolTask​​.ExecuteToolThread(Object parameters)0> MSBUILD:error MSB4166:子节点"3"过早退出.关机 诊断信息可以在名为MSBuild*.failure.txt 的临时文件目录中的文件中找到.

但是,在同一个构建机器上,我尝试执行热命令行(由上面的日志生成)并使其正常工作:即C:\ Program Files(x86)\ WiX Toolset v3.8\bin\Heat.exe目录D:\Builds\32\48\bin\Debug\InstallSrc\WebApp\-cg CompGrp_WebApp …

msbuild wix heat

1
推荐指数
1
解决办法
2544
查看次数

我可以使用任何dll的"版本控制路径到自定义程序集"目录吗?

我们正在为我们的项目设置构建控制器.我们的项目依赖于最终用户机器上安装的另一个应用程序的DLL.除非必须,否则我不想在构建服务器上安装该应用程序.为此,我尝试将我需要的DLL放入自定义程序集文件夹中,但MSBuild无法从那里找到它们.

我可以将自定义程序集文件夹用于我的项目所需的任何DLL,还是仅用于构建过程需要的DLL?(即NUnit,StyleCop)

msbuild tfs tfsbuild tfs2013

1
推荐指数
1
解决办法
1511
查看次数

自Azure SDK 2.5以来,Visual Studio Online中的内置版本失败

自从升级到Azure SDK 2.5以来,我们的CI构建失败了.我们在Visual Studio Online上有自动构建.

这是抛出的异常:

C:\ a\src\WebService\WebService.ccproj(82):导入的项目"C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v11.0\Windows Azure Tools\2.5\Microsoft.WindowsAzure.targets " 没找到.确认声明中的路径是否正确,以及该文件是否存在于磁盘上.

有任何想法吗?

msbuild continuous-integration azure azure-devops

1
推荐指数
1
解决办法
874
查看次数

Visual Studio如何在未通知csproj时确定输出路径?

我正在尝试从另一个解决方案引用一个C#DLL项目,但构建是在一个非常奇怪的输出文件夹中生成DLL.

目录内容是这样的:

c:\a\b\c\src\Solution.sln
c:\a\x\y\z\MyDLL\MyDLL.csproj
Run Code Online (Sandbox Code Playgroud)

MyDLL.csproj不具有<OutputPath>标记.但它有一个我经常看不到的<SolutionDir>标签.

计算的输出路径,如Properties视图中所示,恰好是:

..\..\..\..\b\c\src-z\MyDLL\objd\i386
Run Code Online (Sandbox Code Playgroud)

这对应于此路径:

c:\a\b\c\src-z\src\MyDLL\objd\i386
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为我不知道配置src-z的任何东西.我想知道Visual Studio是否正在计算带连字符的路径?

我想解决这个问题,可能会改变<SolutionDir>,但我不想打破其他解决方案.

计算似乎在构建过程的早期发生,因为构建器记录的第一件事是:

1>Project 'MyDLL (x\y\z\MyDLL\MyDLL.csproj)' is not up to date.
  Input file 'x\y\z\MyDLL\MyDLL.csproj' is modified after output
  file 'c:\a\b\c\src-z\src\MyDLL\objd\i386\MyDLL.pdb'.
Run Code Online (Sandbox Code Playgroud)

那么,当找不到项目<OutputPath>标签时,VS使用什么算法来计算输出路径?

c# msbuild csproj visual-studio visual-studio-2012

1
推荐指数
1
解决办法
5471
查看次数

Sonar和TFS 2013:未找到ProjectInfo.xml文件

当我用声纳运行TFS 2013时,我收到以下错误: No ProjectInfo.xml files were found. Check that the analysis targets are referenced by the MSBuild projects being built.

信息: TF270015: 'SonarQube.MSBuild.Runner.exe' returned an unexpected exit code. Expected '0'; actual '1'.

我用 :

  • sonarqube-5.1.zip
  • 声纳CSHARP-插件-4.0.jar
  • SonarQube.MSBuild.Runner-0.9.zip
  • sonar-runner-dist-2.4.zip

我已按照"SonarQube现有TFS环境安装指南.pdf"中的说明进行操作.

有帮助吗?

谢谢.

记录:

SonarQube Analysis Summary
Analysis failed for SonarQube project "WpfApplication2", version 1.0
Product projects: 0, test projects: 0
Invalid projects: 0, skipped projects: 0, excluded projects: 0
Résumé
Debug | x86
0 erreur(s), 1 avertissement(s)
$/Essai2/WpfApplication2/WpfApplication2.sln - 0 erreur(s), …

msbuild tfs sonar-runner sonarqube

1
推荐指数
1
解决办法
4120
查看次数

TeamCity - 没有使用Octopus Deploy/Octopack生成的工件

我有一个Visual Studio项目,它在TeamCity中设置了一个构建任务,通过OctoPack(3.0.43)创建工件.接下来,部署任务,从构建任务任务(成功构建)接收输出NuGet包作为依赖项.

我已经尝试使用MsBuildbuild-runner和Visual Studio (sln)one 来设置构建任务,但在这两种情况下都没有创建工件.

我已将OctoPack NuGet包添加到我的Visual Studio项目中.

msbuild teamcity nuget octopus-deploy octopack

1
推荐指数
1
解决办法
1347
查看次数