标签: tfs2010

对慢速TFS服务器进行故障排除的建议

我们在局域网上的专用机箱上运行TFS 2010,并通过VS2010连接到它.在过去的几周里,访问/退出文件的访问时间和时间都很荒谬.有时甚至可能需要几分钟才能获得存储库的视图.

我们检查了网络访问时间,一切看起来都是有序的 - 例如RDP和服务器上安装的共享速度并不是很慢,所以看起来TFS是罪魁祸首.任何人都可以建议我们应该研究哪些明显的领

performance tfs networking tfs2010

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

TFS 2010:获取变更集ID列表

我需要创建两个方法如下:

  1. 检索TFS中的所有变更集.
  2. 检索比指定变更集更新的所有变更集.

我做了一些谷歌搜索,发现了一些链接,并设法提出了一些代码.我似乎无法找出调用方法来获取变更集项的完整列表.我把一些东西搞得一团糟但想知道是否有人可以帮助我:

TfsTeamProjectCollection projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://mydomain.com:8080/tfs"));
VersionControlServer versionControl = projectCollection.GetService<VersionControlServer>();
int latestId = versionControl.GetLatestChangesetId();

List<Changeset> changesetList = new List<Changeset>();
for (int i = 1; i < latestId; i++)
{
    try
    {
        Changeset cs = versionControl.GetChangeset(i);
        if (cs != null)
        {
            changesetList.Add(cs);
        }
    }
    catch (ResourceAccessException)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

获取某些Id的变更集会抛出"ResourceAccessException"异常,这就是添加处理程序的原因.

关于如何以"正确"的方式做到这一点的任何想法?

我正在使用Visual Studio 2010和TFS 2010.应用程序是用C#编写的.Net 4.0应用程序.

TIA

c# visual-studio-2010 tfs2010

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

如何确定是否在带有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万
查看次数

TFS 2010自定义生成活动TF215097错误

对于TFS 2010中的构建过程,我创建了一个包含一些自定义代码活动的库.在过去,通过将库(*.dll)添加到源代码控制并将"构建控制器 - 自定义程序集的版本控制路径"设置为可在源代码管理中找到库的路径,一切正常.

但是几天之后(我经常更新库),构建不再成功.报告的错误是:

TF215097:初始化构建定义的构建时发生错误"无法创建未知类型"{clr-namespace:BuildTasks; assembly = BuildTasks}'"

搜索后,除了将库安装到GAC之外,我找不到任何其他解决方案.这有效,但我想知道为什么不必安装到GAC就无法工作.

因此,虽然它现在再次运行,但我希望在没有GAC的情况下以旧方式恢复工作.希望你们中的一些人可以帮助我.提前致谢.

.net build-automation tfs2010

16
推荐指数
4
解决办法
1万
查看次数

我可以修改TFS 2010中的默认签到操作吗?

将变更集与工作项关联时,TFS默认为解析工作项.我想默认关联它.

我知道在TFS 2008中你必须使用像http://www.woodwardweb.com/vsts/000230.html这样的东西删除解​​决登记操作,但我认为我在某处读到有更好的方法来执行此操作TFS 2010.有谁知道是否是这种情况?

比尔,比尔

workitem checkin tfs2010

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

如何使用TFS Build构建VS2010 MakeFile项目(vcxproj)(无VS 2010)

我有一个在VS 2008中正常构建的项目,然后我们安装并开始使用TFS Build,然后我们升级到TFS 2010.一切都很好并且构建正确(在我实现新的构建过程之后,使一切都非常好从任何远程Visual Studio 2010客户端单击构建启动).Visual Studio不需要安装在Build Agent上.我非常努力(非常努力)不在构建代理上安装Visual Studio,因为我的理解是没有必要,并且我们没有许可将它安装在非开发机器上.

现在我尝试将解决方案升级到VS 2010,仍然针对.NET 3.5,因为它是针对SQL Server CLR过程的程序集,而SQL Server还不支持.NET 4.0.但我根本无法在TFS Build下进行构建.我似乎无法从TFS Build和MS Build命令行获得一致的错误消息,但我认为它与Microsoft.Cpp.Targets不在C:\ Program Files\MSBuild \中有关,因为我没有没有安装Visual Studio.我确实安装了Microsoft Windows SDK 7.1,这样我就可以为其他一些.NET 4.0项目运行像svcutil这样的.NET 4.0 SDK工具,但似乎没有安装这个构建所需的东西.TFS构建错误给我的是:

C:\ TFSBld [...]\GenerateLanguage\GenerateLanguage.vcxproj(46,3):错误MSB4019:找不到导入的项目"C:\ Microsoft.Cpp.Default.props".确认声明中的路径是否正确,以及该文件是否存在于磁盘上.

当我点击该错误时,它会将我带到vcxproj文件中的这一行:

  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
Run Code Online (Sandbox Code Playgroud)

我真正需要在这个项目中运行resgen来从resx文件生成资源文件,并将它们编译成sattelite程序集.我正在使用makefile构建来执行此操作,手动运行resgen(我认为这是因为我无法找到将sattelite程序集编译为独立解决方案的方法),然后将它们编译成DLL(I不记得现在怎么工作,但我认为是手动运行AL.exe从资源文件编译DLL文件).所以基本上我只需要运行命令行来构建这个项目,我似乎找不到合理的方法来做到这一点而不抛弃整个项目并编辑TFS构建脚本来运行一堆硬编码的命令行代替.必须有一个更好的方法.

我整天都在这里,并尝试编写我自己的.targets文件和.xml属性表来取代标准文件,但它已经超出了我的想象.我试过简单地删除这些行,但是然后MSBuild抱怨没有"Build"目标.我尝试在vcxproj文件中添加一个虚拟对象,但是它似乎没有运行完成所有工作的构建前和构建后步骤.

.net msbuild visual-studio-2010 tfsbuild tfs2010

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

MSDeploy批处理文件不再处理引号

作为构建过程的一部分,我们使用MSDeploy部署Web应用程序.这种方法在几个星期前就完美了(我想我们将构建/ TFS服务器更新到TFS 2010的SP1时).

在我们的构建定义中,有一个调用进程的步骤.此过程将调用生成的deploy.cmd文件并传入一些其他参数.这很好用了很长时间,但现在我们得到了这个:

错误:无法识别的参数'"-skip:objectName = filePath,absolutePath =.*cmsservices.config"'.所有参数必须以" - "开头.

如帮助中所述,我们使用引号传递其他参数:

WebApplication.deploy.cmd/Y/M:sv-ad-iis02 -allowUntrusted"-skip:objectName = filePath,absolutePath =.*cmsservices.config"" - skip:objectName = filePath,absolutePath =.*servicemodel.client.config ""-skip:objectName = dirPath,absolutePath = app_data"

但是,这个技巧不再适用.删除引号也将删除任何字符,如=和,将替换为空格.

我将其追溯(通过将旧的deploy.cmd与新版本进行比较)到此行:

第76行:

@rem Any addition flags, pass through to the msdeploy
set _ArgMsDeployAdditionalFlags=%_ArgMsDeployAdditionalFlags% %_ArgCurrentOriginal%
Run Code Online (Sandbox Code Playgroud)

在之前的版本中,这是:

@rem Any addition flags, pass through to the msdeploy
set _ArgMsDeployAdditionalFlags=%_ArgMsDeployAdditionalFlags% %_ArgCurrent%
Run Code Online (Sandbox Code Playgroud)

_ArgCurrentOriginal使用%1而不是%~1,如果我更改此代码,它将再次起作用.但是每次都会自动生成deploy.cmd文件(至少它看起来像)

任何线索为什么这已经改变以及如何处理这个?


更新; 我通过使用环境变量来传递这些值来解决这个问题.它仍然无法解决新的deploy.cmd文件以不同方式转义引号的问题.

我现在放在部署流程工作流程中的解决方案:

<mtbwa:InvokeProcess Arguments="[String.Format(&quot;/Y /M:{0} -allowUntrusted&quot;, DeploymentServerName)]" DisplayName="Deploy selected Web Application using MSDeploy" EnvironmentVariables="[New Dictionary(Of String, String) From {{&quot;_MsDeployAdditionalFlags&quot;, …
Run Code Online (Sandbox Code Playgroud)

tfsbuild msdeploy tfs2010

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

什么是重写Windows代理设置(插入"vsts-proxy-installed-indicator")以及如何将其关闭?

我有许多机器,所有机器都安装了Visual Studio,其中某些东西(可能是视觉工作室)覆盖了代理设置:为HTTP和HTTPS设置localhost和一些随机端口.在"不要使用代理服务器"框中,它放置<vsts-proxy-installed-indicator>可能是标签,因此它知道它已完成.

VSTS代理设置

这有时会阻止浏览器在我的桌面上工作,最近,在我们的构建服务器上更改了它,这导致代码签名步骤(连接到外部时间戳服务器)整天失败,直到我最终发现此代理问题.

什么在改变这些设置?为什么要改变它们?我该如何关闭它?


请注意,还有一个关于此问题的服务器故障问题:什么是插入"vsts-proxy-installed-indicator"?但由于这是一个特定于Visual Studio的问题,我认为在这里提问可能会更好.

visual-studio tfs2010

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

TFS分支和文件夹最佳实践

我有我的TFS 2010结构如下:

ProjectCollectionA
       ..trunk
            ....Dev (this is a branch) 
                  ...Website1(these are folders)
                  ...Website2

            ....Release(this is a branch)
                  ...Website1(these are folders)
                  ...Website2
Run Code Online (Sandbox Code Playgroud)

无论出于何种原因,我开发并发布了Branches和Website1,Website2作为文件夹.我的问题是我应该将开发和发布作为文件夹,将Website1和Website2作为分支吗?那更有意义吗?这里的最佳做法是什么?这种或那种方式有哪些优点或缺点?谢谢您的帮助

tfs branch visual-studio-2010 visual-studio tfs2010

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

源代码管理中的大文件(TFS)

最近在办公室,我们一直在谈论将大文件放入我们的TFS存储库.这些文件本身就是XML,通常大小为100-200MB,有时甚至大到1GB.我们将它们用作自动化测试的数据,它们大部分都是静态的(每年左右进行一次小调整).无论如何,有一种想法是将这样的文件放入存储库是一个禁忌,因为它们"很大"并且会使事情变得"慢"(在原始登记/退出之外)但我们并不是真的有任何证据支持这一点.

所以我的问题是,将大型静态文件放入源代码存储库(例如TFS(或SVN,Git等)的优点/缺点/含义是否可以?它会"填满服务器"还是会产生其他可怕的后果?

version-control tfs tfs2010

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