小编pan*_*lif的帖子

如何移动错误放置的TFS分支?

我刚刚从Main分支到v5.0,但我意识到我想在Release文件夹中移动这个分支.

我该如何处理TFS 2010?

谢谢.

visual-studio-2010 tfs2010

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

如何在处理使用Facebook API调用的服务方法时透明地更新Facebook访问令牌?

我有一个在IIS 7.5和VS 2010中运行的WCF服务.此服务有一些方法在内部使用Facebook C#SDK(版本4.1,而不是最新版本),以便从/向Facebook执行一些GET和POST.由于Facebook将很快删除offline_access我要处理,其中一个访问令牌已过期的情况.

我已经了解了执行身份验证的方式(为了获取代码并在获取访问令牌之后),以便使用Graph API获取Facebook信息(如此处所示).

我有两个问题:

  • 调用我的服务方法并从数据库中检索相应用户的令牌时,是否有办法知道访问令牌是否已过期?
    我已经读过,当执行Facebook API调用并且访问令牌过期时,会抛出以下异常:OAuthException.但有没有更好的方法来检测到期?我不想
    1. 调用Facebook API
    2. 处理异常
    3. 最后更新访问令牌
    4. 使用新的访问令牌重复初始调用.
  • 是否可以透明地更新用户的访问令牌(也将其存储在数据库中)并继续处理服务方法?在资源中,缺少重要的("更新访问令牌")部分(声明为[todo])

我想在服务方法的实现中实现以下方案:

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的通信以获得访问令牌,这是同步执行的.

最后的问题:

  • 有没有办法让服务方法等待我们从Facebook请求/回调中检索的新访问令牌,以便稍后继续使用新的访问令牌?

c# security facebook token facebook-c#-sdk

14
推荐指数
3
解决办法
7604
查看次数

成功构建后,TFS 2010没有复制exe文件

我正在安装TFS 2010以及Visual Studio 2010(也安装在服务器中),我为C#项目创建了一个构建定义.Build最终成功但我的drop文件夹中没有.exe文件,但是我可以找到dll,

以前有没有人遇到过同样的问题?

build-automation exe tfs2010

6
推荐指数
2
解决办法
2337
查看次数

运行sn.exe需要哪些Windows SDK部件

我想运行sn.exe,以便能够在服务器中运行延迟签名的项目.如果我安装整个Windows SDK一切运行顺利,但需要哪个部分SDK?我问,因为整个下载是460Mb,可能安装我不需要的东西.

.net winapi delay-sign sn.exe

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

创建TFS工作区 - MinGW兼容性问题

我正在尝试使用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下正常工作.

出了什么问题?

workspace tfs mingw

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

TFS SDK:查询昨天的构建

我可以在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文件中.

tfs tfsbuild tfs-sdk tfs2010

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

如何锁定过时的TeamProjects

作为维护的一部分,通过右键单击Source Control Explorer($/TeamProject)中的每个根并选择"Lock .." ,我即将锁定几个现已过时的TeamProjects .

完成后,我尝试提交这些更改,但以下消息拒绝了这些更改:
在此输入图像描述

通过围绕搜索我碰到了下面的语句,如部分做出这个讨论:

应用锁定使得放置锁定的用户可以签入/签出文件,但是在释放锁定之前没有其他人可以.因此,作为一个更有效的测试,您将需要另一个用户尝试签入锁定文件 - 即不是因为您打开了锁定.

如果这个陈述成立,那么使用'Lock'就不是我应该去的.

我真正需要的是关闭旧的TeamProjects,以便不再出现结账.我怎么做?

(我想我可以在我的变更集中包含一个misc代码更改,但是只有在没有其他可用选项的情况下我才会这样做)

tfs team-project tfs2010

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

TFS-SDK:合并不起作用

作为更大实现的一部分,我正在尝试使用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是分支和文件夹 - 即使是单个文件.
我能找到的唯一资源就是这个,没有帮助......

merge tfs tfs-sdk tfs2010

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