我刚刚从Main分支到v5.0,但我意识到我想在Release文件夹中移动这个分支.
我该如何处理TFS 2010?
谢谢.
我有一个在IIS 7.5和VS 2010中运行的WCF服务.此服务有一些方法在内部使用Facebook C#SDK(版本4.1,而不是最新版本),以便从/向Facebook执行一些GET和POST.由于Facebook将很快删除了offline_access
我要处理,其中一个访问令牌已过期的情况.
我已经了解了执行身份验证的方式(为了获取代码并在获取访问令牌之后),以便使用Graph API获取Facebook信息(如此处所示).
我有两个问题:
OAuthException
.但有没有更好的方法来检测到期?我不想我想在服务方法的实现中实现以下方案:
sc = SocialNetworkAccountDao.GetByUser(user)
isExpired = call method to check if the sc.token is expired.
if (isExpired)
{
newToken = call method for getting new access token
sc.token = newToken;
SocialNetworkAccount.Update(sc);
}
Facebook = new Facebook (sc.token)
Facebook.Post( ..... )
--
Run Code Online (Sandbox Code Playgroud)
与QAuth
对话通信的过程是异步的(执行重定向),并且与访问令牌url的通信以获得访问令牌,这是同步执行的.
最后的问题:
我正在安装TFS 2010以及Visual Studio 2010(也安装在服务器中),我为C#项目创建了一个构建定义.Build最终成功但我的drop文件夹中没有.exe文件,但是我可以找到dll,
以前有没有人遇到过同样的问题?
我想运行sn.exe,以便能够在服务器中运行延迟签名的项目.如果我安装整个Windows SDK一切运行顺利,但需要哪个部分SDK?我问,因为整个下载是460Mb,可能安装我不需要的东西.
我正在尝试使用tf命令创建TFS工作区.
它从Windows命令提示符完美地工作:
C:\Tmp> "c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe" workspace /new TemporaryWorkspace /s:http://srv:8080/tfs /noprompt
Run Code Online (Sandbox Code Playgroud)
从MinGW(msys)窗口(Windows XP SP2下的MinGW 3.18)执行时,完全相同的命令失败:
$ "C:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/TF.exe" workspace /new TemporaryWorkspace /s:http://srv:8080/tfs /noprompt
Specify one workspace.
Run Code Online (Sandbox Code Playgroud)
其他TFS命令(如get,workspace等)在MinGW下正常工作.
出了什么问题?
我可以在TeamProject中查询所有构建,如下所示:
var bServer = teamProjectCollection.GetService<IBuildServer>();
IBuildDetail[] builds = bServer.QueryBuilds("myTeamProject");
Run Code Online (Sandbox Code Playgroud)
这产生builds
了给定的所有内容myTeamProject
.但我只对昨天的版本感兴趣.
在我得到结果后,我显然可以过滤掉builds
.
我仍然想知道是否存在QueryBuilds()
在提供的时间跨度内获得构建的过载.
背景:
在我原来的TFS构建解决方案中,自定义代码活动将捕获BuildDetail
对我们很重要的属性,并使用Microsoft.Office.Interop.Excel将它们添加到Excel工作表中.
这很方便,因为它发生在Build期间,我们的"BuildLog.xls"始终是最新的.
不幸的是,这导致了这个问题,所以我不得不删除代码活动,我正在实施计划B:计划每天启动一次的控制台应用程序,查询昨天的构建并将它们添加到我的Excel文件中.
作为维护的一部分,通过右键单击Source Control Explorer($/TeamProject
)中的每个根并选择"Lock .." ,我即将锁定几个现已过时的TeamProjects .
完成后,我尝试提交这些更改,但以下消息拒绝了这些更改:
通过围绕搜索我碰到了下面的语句,如部分做出这个讨论:
应用锁定使得放置锁定的用户可以签入/签出文件,但是在释放锁定之前没有其他人可以.因此,作为一个更有效的测试,您将需要另一个用户尝试签入锁定文件 - 即不是因为您打开了锁定.
如果这个陈述成立,那么使用'Lock'就不是我应该去的.
我真正需要的是关闭旧的TeamProjects,以便不再出现结账.我怎么做?
(我想我可以在我的变更集中包含一个misc代码更改,但是只有在没有其他可用选项的情况下我才会这样做)
作为更大实现的一部分,我正在尝试使用TFS-SDK实现源代码控制分支/文件夹的合并操作.我正在反对TFS2010安装.
我有的是这个:
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
using Microsoft.TeamFoundation.VersionControl.Common;
namespace MergeBranchesFolders
{
class Program
{
static void Main()
{
TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://TFSSERVER/Collection"));
var versionControl = teamProjectCollection.GetService<VersionControlServer>();
const string fromPath = "$/TeamProject/SourceDir";
const string toPath = "$/TeamProject/TargetDir";
Workspace myWorkspace = versionControl.GetWorkspace("WorkspaceName", "WorkspaceOwner");
GetStatus getStatus = myWorkspace.Merge(fromPath, toPath, VersionSpec.Latest, VersionSpec.Latest,
LockLevel.None, RecursionType.Full, MergeOptionsEx.None);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我确信我可以正常访问myWorkspace
,但getStatus
看起来像这样:
这几乎说没有发生任何事情.
然而,如果我尝试在IDE中合并,我会得到几个合并候选者.
如果我这样做,也可以看到相同的合并候选人:
var mergeCandidates = versionControl.GetMergeCandidates(fromPath, toPath,RecursionType.Full).ToList();
Run Code Online (Sandbox Code Playgroud)
我失败了fromPath
/ toPath
是分支和文件夹 - 即使是单个文件.
我能找到的唯一资源就是这个,没有帮助......