标签: team-build

TFS构建服务器 - CSC:致命错误CS2008:未指定输入

当我们构建解决方案或错误引用的特定项目时,我们在构建服务器上收到上述错误消息.

我们可以使用visual studio(也在构建服务器上)构建解决方案而没有任何问题,但是在运行msbuild时它会因上述错误而失败.

有任何想法吗?

msbuild tfs team-build .net-3.5

43
推荐指数
4
解决办法
2万
查看次数

在构建自动化过程中,您做了哪些酷炫有趣的事情?

我很想知道其他人在构建自动化过程中做了什么,而不是通常的编译,构建,运行测试等任务,这些任务可能对其他人有用而且鼓舞人心,以便其他人考虑和研究如下:

  • 生成代码文档
  • 如果违反已建立的指标,则使用代码指标来衡量构建质量并使构建失败.

msbuild build-automation tfs team-build

32
推荐指数
9
解决办法
3561
查看次数

如何使用WMSVC服务和NTLM身份验证在Team Build 2010中使用MSDeploy进行部署?

我正在尝试使用Team Build 2010部署到Windows Server 2008 R2 Web服务器.我的构建服务器代理设置为在Windows域帐户下运行.我已使用IIS管理器权限在我的Web服务器上成功授予此域帐户权限以进行部署.此帐户不是 Web服务器上的管理员.我可以使用以下参数使构建部署正常:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl=webservername
/p:DeployIisAppPath="Web Site Name"
/p:UserName=DOMAIN\BUILDID
/p:Password=buildidpassword
Run Code Online (Sandbox Code Playgroud)

因为其他开发人员将要设置他们的构建,我宁愿不发布域帐户的密码,我需要使用NTLM身份验证进行部署.我想继续使用Web管理服务方法(WMSVC)进行部署,因此BUILDID不必是管理员.

我深入研究了"Microsoft.Web.Publishing.targets",看来我应该能够传递一个AuthType参数来控制授权类型,但似乎没有任何效果.我试过了:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:AllowUntrustedCertificate=True 
/p:MSDeployServiceUrl=webservername
/p:DeployIisAppPath="Web Site Name"
/p:AuthType=NTLM
Run Code Online (Sandbox Code Playgroud)

而且我也尝试了一个空白的用户名(如StackOverflow上的其他地方所见),但无济于事.我继续得到错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3847,5):错误:Web部署任务失败.(使用Web管理服务连接到目标计算机("webservername"),但无法授权.请确保您使用的是正确的用户名和密码,即您要连接的站点存在,并且凭据代表有权访问该站点的用户.)

我也尝试过UseMsdeployexe上一个链接中提到的参数,但后来我得到了与web.config转换相关的其他错误.看起来问题已经出现在Microsoft Connect上,并且在下一期中列为已修复.

msbuild tfs team-build msdeploy tfs2010

30
推荐指数
2
解决办法
4143
查看次数

MSBuild和TeamBuild - 由于MSB3021文件权限违规导致BuildInParallel失败

我维护了一个相当大的软件的构建,包括大约350个csharp项目.调试内置时钟的构建时间约为17分钟.

我一直在寻找改善构建时间的方法,而BuildInParallel属性确实看起来很吸引人.特别是因为我们有一个四核服务器在做我们的构建,它应该真的能够利用计算能力.

但是唉...在设置属性,修改构建代理的配置文件并重新启动它之后,第一次运行确实看起来很有希望,比正常情况更快,直到它失败的程度.

在查看构建日志之后,当它尝试将标记为CopyLocal = true的引用复制到输出目录时,看起来构建失败.如果C#项目A和C#项目B并行构建,并且两者都引用相同的第三方dll,并尝试同时复制它,则尝试复制文件的第二个进程将获得文件访问冲突 - 该文件正被另一个进程使用.

有没有人经历过这个,并且能够在Team Build上获得多进程构建?


这是其中一个失败,有点难以弄清楚同时建造了哪个其他项目.

我删除了所有不相关的东西:

54>从项目"d:\ temp\PCM\1.3-Maint_CI\Sources\Modules\Core \"文件"c:\ WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets"中定位"_CopyFilesMarkedCopyLocal" Test\UnitTest\TestDIPS.Core.Data.Server.NUnit\TestDIPS.Core.Data.Server.NUnit.csproj":54>任务"复制"从"..........\Bin \"复制文件3rdParty\Oracle\Oracle.DataAccess.dll"到"d:\ temp\PCM\1.3-Maint_CI\Binaries\Debug\Oracle.DataAccess.dll".命令:copy/y"..........\Bin\3rdParty\Oracle\Oracle.DataAccess.dll""d:\ temp\PCM\1.3-Maint_CI\Binaries\Debug\Oracle.DataAccess.dll "54> c:\ WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(2703,9):错误MSB3021:无法复制文件"..........\Bin\3rdParty\Oracle\Oracle.DataAccess.dll"到"d:\ temp\PCM\1.3-Maint_CI\Binaries\Debug\Oracle.DataAccess.dll".该进程无法访问文件'd:\ temp\PCM\1.3-Maint_CI\Binaries\Debug\Oracle.DataAccess.dll',因为它正由另一个进程使用.完成执行任务"复制" - 失败.54>在项目"TestDIPS.Core.Data.Server.NUnit.csproj"中完成构建目标"_CopyFilesMarkedCopyLocal" - 失败.

msbuild team-build

27
推荐指数
3
解决办法
9624
查看次数

团队构建:即使删除构建代理上的所有工作区,路径"路径"也已映射到工作区"工作区"错误中

我在构建队列时遇到此问题.构建因错误而死亡

路径C:\ [Path]\Sources已映射到工作空间[服务器名称]中.

此相同的问题.但是我通过运行此命令删除了构建代理程序上的所有工作区:

tf workspaces /remove:*
Run Code Online (Sandbox Code Playgroud)

并删除TFS缓存文件夹.我也重新启动了服务器,但每次构建时都会发生错误.

workspace tfs team-build

25
推荐指数
1
解决办法
3万
查看次数

如何让TFS 2010将每个项目构建到单独的目录中?

在我们的项目中,我们希望我们的TFS构建将每个项目放在drop文件夹下的自己的文件夹中,而不是将所有文件都放到一个平面结构中.为了说明,我们希望看到这样的事情:

DropFolder/
  Foo/
    foo.exe
  Bar/
    bar.dll
  Baz
    baz.dll
Run Code Online (Sandbox Code Playgroud)

这基本上与此处提出的问题相同,但现在我们正在使用基于工作流的构建,这些解决方案似乎不起作用.使用CustomizableOutDir属性的解决方案看起来对我们来说效果最好,但我无法识别该属性.我自定义了我们的工作流程,将其作为命令行参数传递给MSBuild(/ p:CustomizableOutDir = true),但似乎MSBuild只是忽略它并将输出放入工作流程给出的OutDir中.

我查看了构建日志,我可以看到CustomizableOutDir和OutDir属性都在命令行args中设置为MSBuild.我仍然需要传递OutDir,以便我可以在最后将我的文件复制到TeamBuildOutDir.

知道为什么我的CustomizableOutDir参数没有被识别,或者是否有更好的方法来实现这一点?

msbuild tfs team-build tfs2010

22
推荐指数
2
解决办法
2万
查看次数

Assert.Inconclusive和IgnoreAttribute

什么是使用正确的方式Assert.Inconclusive,并IgnoreAttribute在MS单元测试框架?

我们Assert.Inconclusive主要用于以下测试:

  • 尚未实施
  • 不知何故破碎或不完整=需要进一步关注
  • 当测试机构因任何原因被注释掉时

我们这样做是因为:

  • 不确定的测试可以有消息
  • 我们希望在TFS上的测试结果中看到这样的测试

我们的问题是Inconclusive测试在TFS和Resharper中都被标记为错误.如果我们使用,IgnoreAttribute我们将在Resharper中看到这些测试,但MS Test runner和TFS将完全忽略它们.使用IgnoreAttribute在TFS和MS测试亚军是同样喜欢评论整个测试是无用的.

.net resharper unit-testing mstest team-build

22
推荐指数
2
解决办法
8500
查看次数

如何复制TFS 2010构建定义?

有没有办法复制构建定义?我使用主线源控制方法,该方法利用许多不同的分支,这些分支可以存在很短的时间(即几天到一周).我真的很想复制一个构建模板,只需要改变构建的解决方案.有没有办法做到这一点?

tfs team-build tfs2010

21
推荐指数
2
解决办法
1万
查看次数

无法使用TF.exe确定工作区

我有这个脚本(bat文件)

tf workspaces /s:http://project02:8080

tf workspace /s:http://project02:8080 Team.descomp;MyDomain\Myuser


tf workfold /workspace:Team.descomp


tf get $/Team/Main/Projects /recursive /force /noprompt
Run Code Online (Sandbox Code Playgroud)

我收到此错误:无法确定工作区.当我尝试执行tf get时.

控制台输出类似于:

服务器:project02

工作区:DESCOMP

所有者:MyUser

电脑:DESCOMP

工作区:Team.descomp

所有者:MyUser

电脑:DESCOMP

...

工作区:Team.descomp(MyUser)

服务器: http:// project02:8080 /

$ /团队:C:\ Temp\Team2

...

无法确定工作区.

注意,$/Team(团队项目)在两台机器上有映射:MyUser和Descomp

工作区:团队所有者:MyUser计算机:MyUser

工作区:Team.descomp所有者:MyUser计算机:DESCOMP

有什么建议?

workspace scripting tfs team-build

21
推荐指数
2
解决办法
4万
查看次数

如何确定是否在带有Powershell的IIS7中安装了网站?

我是powershell的新手,我正在尝试自动删除先前版本的网站,并添加新版本作为TFS 2010构建模板(Windows Workflow 4.0)的一部分.是否可以通过PowerShell查看IIS7中是否存在网站或Web应用程序池?我试过运行以下命令:

import-module WebAdministration
Get-Website -Name "Default Web Site"
Run Code Online (Sandbox Code Playgroud)

输出列出了盒子上安装的所有网站,而不仅仅是默认网站.

Name             ID   State      Physical Path                  Bindings
-------------------------------------------------------------------------
Default Web Site 1    Started    %SystemDrive%\inetpub\wwwroot  http *:80:
                                                                net.tcp 808:*
                                                                net.pipe *
                                                                net.msmq localhost
                                                                msmq.formatname localhost 
MyWebsite1       2    Started    C:\inetpub\MyWebsite1          http *:80:mywebsite1.com
MyWebsite2       3    Started    C:\inetpub\MyWebsite2          http *:80:mywebsite2.com
Run Code Online (Sandbox Code Playgroud)

如果我尝试运行没有"-Name"参数的命令,结果完全相同.

powershell iis-7 team-build tfs2010

17
推荐指数
2
解决办法
2万
查看次数