小编Chr*_*ein的帖子

以编程方式将文件检入TFS的次数超出预期


所以我有一个.NET应用程序,它通过并生成一系列文件,将它们输出到本地目录,然后确定是否需要更新现有文件或将新文件添加到TFS(Team Foundation Server)项目中.
我在本地计算机上有一个工作区,并且有10个不同的工作文件夹,这些是我从这台特定机器处理过的其他编码项目.当我去检查文件是否已存在于TFS项目中并且需要更新或是否需要作为新文件添加到项目时,我的问题就出现了.
snipet:

static string TFSProject = @"$/SQLScripts/";
static WorkspaceInfo wsInfo;
static VersionControlServer versionControl;
static string argPath = "E:\\SQLScripts\\";

wsInfo = Workstation.Current.GetLocalWorkspaceInfo(argPath);
TeamFoundationServer tfs = new TeamFoundationServer(wsInfo.ServerUri.AbsoluteUri);
versionControl = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));

Workspace workspace = versionControl.GetWorkspace(wsInfo);
workspace.GetLocalItemForServerItem(TFSProject);


此时我检查文件是否存在,我做了两件事之一.如果文件存在,那么我将文件标记为EDIT然后我将文件写入本地目录,否则我将首先编写脚本然后将文件添加到工作区.我不在乎物理文件是否与我正在生成的文件相同,因为我这样做是为了跟踪变化的SAS70要求

如果它存在我做:
workspace.PendEdit(filename,RecurisionType.Full);
scriptoutthefile(文件名);

或者如果它不存在
scriptoutthefilename(filename);
workspace.PendAdd(文件名,TRUE);

好的,所有这一切都可以解决问题.当我去检查针对PROJECT的挂起更改时,我获得了工作区中本地计算机上所有项目的所有挂起更改.

// Show our pending changes. 
PendingChange[] pendingChanges = workspace.GetPendingChanges();
foreach (PendingChange pendingChange in pendingChanges)
{
    dosomething...
}

我认为通过将工作空间设置为workspace.GetLocalItemForServerItem(TFSProject),它将仅为我提供该特定工作文件夹的对象.

如果有办法强制工作区对象只处理特定的工作文件夹?

这有什么意义吗?提前致谢...

c# api tfs working-directory checkin

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

公司标准:C#.NET vs VB.NET与.NET无关

当我们考虑使用其他机构充实我们的开发人员时,我的旧工作不时会出现一个问题.如果您是.NET开发人员,如果您的开发人员都使用一种语言编写代码,那么这真的很重要吗?

我可能刚开始时就像其他四百万人一样用Visual Basic方式返回,然后迁移到VB.NET.我们当时的另一位开发人员来自C背景并迁移到C#.NET.基本上他能用他的母语非常快速地编码,而且我能够在我的语言中这样做,因为我们的项目没有真正重叠,所以没有问题,直到我们的老板基本上说我们需要切换到C#...没有其他理由比标准化.

所以我想这个问题的"主观"部分是,为了保持一致性而牺牲生产力是否更好?现在我应该量化这一点,说我们是一家小型商店,不到5位开发商,并且考虑到我们的大部分项目计划是如何在鸡尾酒餐巾纸上进行的,这不像我们很快就会购买6-Sigma,所以它不像'标准'是一个坚硬而快速的规则.

谢谢.

standards programming-languages

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

如何在SQL中的组内按顺序查找缺失值?

我有一张身份证和职位表

CREATE TABLE #MissingSequence (ID INT NOT NULL, Position INT NOT NULL)
INSERT INTO #MissingSequence (ID,Position)
SELECT 36,1
UNION ALL SELECT 36,2
UNION ALL SELECT 36,3
UNION ALL SELECT 36,4
UNION ALL SELECT 36,5
UNION ALL SELECT 36,6
UNION ALL SELECT 44,1
UNION ALL SELECT 44,3
UNION ALL SELECT 44,4
UNION ALL SELECT 44,5
UNION ALL SELECT 44,6
Run Code Online (Sandbox Code Playgroud)

我想要找到的是,如果在ID的位置序列中有任何中断,在这种情况下,在44和44,3之间的中断

我成功地解析了:

SELECT  l.ID
    ,Start_Position = MIN(l.Position) + 1
    ,Stop_Position = MIN(fr.Position) - 1
FROM #MissingSequence l
LEFT JOIN #MissingSequence r 
    ON …
Run Code Online (Sandbox Code Playgroud)

sql-server numeric sequence

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

来自太多错误的错误表现?

我在C#(.NET 2.0)中有一个大项目,它包含由SubSonic生成的非常大的代码块.像这样的尝试捕获导致可怕的性能打击?

for (int x = 0; x < identifiers.Count; x++)
        {decimal target = 0;
            try
            {
                target = Convert.ToDecimal(assets[x + identifiers.Count * 2]); // target %
            }
            catch { targetEmpty = true;  }}
Run Code Online (Sandbox Code Playgroud)

发生的事情是,如果传入的给定字段不是可以转换为十进制的字段,则会设置一个标志,然后在记录中进一步使用该标志以确定其他内容.

问题是,当我通过30k记录进行解析时,应用程序实际上会抛出数以万计的异常.整个过程花了将近10分钟的时间来完成所有事情,我的总体任务是将时间改进一些,如果这是一个糟糕的设计理念,这似乎很容易挂起.

任何想法都会有所帮助(善良,这是一个悲惨的一天)

谢谢,克里斯

c# error-handling performance

3
推荐指数
2
解决办法
161
查看次数

如何通过SQL确定矩阵是否为"肯定"?

有什么办法,纯粹是MSSQL,以确定以下maxtrix将计算出正定?

A C D G H I
A 1.00 0.68 0.24 0.62 0.90 0.00
C 0.68 1.00 0.25 0.46 0.61 0.00
D 0.24 0.25 1.00 0.60 0.08 0.00
G 0.62 0.46 0.60 1.00 0.46 0.00
H 0.90 0.61 0.08 0.46 1.00 0.00
I 0.00 0.00 0.00 0.00 0.00 1.00
Run Code Online (Sandbox Code Playgroud)

现在我们正在使用第三方应用程序,ExtremeNumerics,来处理在一个相当黑箱方式的决心.如果我有一个SQL表,我可以输入资产,相关资产和价值,是否有办法进行数学运算?

我捅了一些,我还没有在MSSQL中看到任何处理矩阵数学的东西.

谢谢.

编辑:Microsoft SQL 2008

sql-server matrix

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

WHILE循环在SQL中

我有两个表:Holdings和Transactions

控股数据如下:

06/30/2009, A, 100
06/30/2009, B, 1200
06/30/2009, C, 100
06/30/2009, D, 100

交易数据如下:

A, 06/05/2009, 100
B, 06/02/2009, 400
B, 06/13/2009, 400
B, 06/28/2009, 400
C, 06/17/2009, 100
D, 06/30/2009, 100

我需要完成的是通过馆藏表并对单独存在的交易进行计算.

我能够将所有事务放入临时表并使用WHILE循环来处理它们.

declare @count int,
        @loopcount int
declare @tblTransactions TABLE
(
ID int identity(1,1),
trtype varchar(10),
trdate datetime,
trvalue int
)
insert into @tblTransactions
select * from Transactions
select @count=@@rowcount
set @loopcount=1
WHILE @loopcount<=count
BEGIN
     select * from @tblTransactions where ID=@loopcount
     set @loopcount=@loopcount+1
END
Run Code Online (Sandbox Code Playgroud)

这一切都非常好,但问题是:如果同一个持有,trtype列有多个交易,我需要计算' …

sql t-sql

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

在C#中需要LINQ ArgumentOutOfRangeException的帮助

希望这是周五问题的一个很好的垒球,但我有以下代码行:

//System.ArgumentOutOfRangeException generated if there is no matching data
currentAnswers = new CurrentAnswersCollection()
    .Where("PARTICIPANT_ID", 10000).Load()[0];
Run Code Online (Sandbox Code Playgroud)

CurrentAnswersCollection是一个强类型集合,由一个返回到我的数据库的视图填充.问题当然是,如果没有相应的PARTICIPANT_ID = 10000,我会收到错误消息.

有没有更好的方法来写这个,以便我根本不会得到错误信息?我只是不太了解LINQ语法,知道我是否可以先测试存在?

谢谢.

c# linq

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

HttpHandler和会话状态的问题

我正在尝试设计一个解决方案,它将模拟App_Offline.htm进行远程访问,但仍允许本地用户测试网站.我找到了一些我正在尝试的各种选项,但最好的选项似乎不适用于我们的ASP.NET(2.0)站点,它依赖于在所有页面上启用会话状态.

HttpHandler被添加到web.config中

<add verb="*" path="*.aspx" type="AppOffline.AppOfflineHandler, AppOffline" />
Run Code Online (Sandbox Code Playgroud)

当课程被调用时,归结为:

public void ProcessRequest( HttpContext context )
{
    this.context = context;

    // offline mode and remote request?
    if ( !context.Request.IsLocal &&
        IsOffline
        )
    {
        context.Response.Clear();
        context.Response.Write( AppOffline );

        context.Response.End();
    }
    else
        // redirect to the default processing pipe
        PageParser.GetCompiledPageInstance(
            context.Request.Path,
            context.Request.PhysicalPath,
            context ).ProcessRequest( context );
}
Run Code Online (Sandbox Code Playgroud)

问题出在PageParser.GetCompiledPageInstance中.我现在在我们网站上点击的任何页面都会收到以下错误消息:

"只有在配置文件或Page指令中将enableSessionState设置为true时才能使用会话状态.还请确保<configuration>\<中包含System.Web.SessionStateModule或自定义会话状态模块应用程序配置中的system.web>\<httpModules>部分."

我们将所有会话变量都存储在SQL中,不确定是否存在因素.

我见过其他有类似错误的人,他们得到的答案是你需要添加ProcessRequest(上下文)来解决它.

想法,意见,建议?

谢谢.

asp.net session httphandler

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

转义 XML 属性中的撇号

尝试将一些 XML 加载到文档中:

<Custom AttributeA='' AttributeB='Bob' AttributeC='HUNTERS' COMPANY EMPLOYEES' 403B PLAN' />
Run Code Online (Sandbox Code Playgroud)

然后当我尝试将它添加到文档时:

XmlDocument xmlCustom = new XmlDocument();
xmlCustom.LoadXml(customNode);
Run Code Online (Sandbox Code Playgroud)

我最终收到一条错误消息 System.Xml.XmlException: 'COMPANY' is an unexpected token。预期的标记是“=”。AttributeC 的值应该是:HUNTERS' COMPANY EMPLOYEES' 403B PLAN

我尝试在加载 XML 之前替换 ' ,但它替换了所有撇号,并且 AttributeA='' 同样无效。

编辑:是的,我同意格式不佳,但这是我必须使用的。

c# xml

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

确定基于0的阵列上的模数

我有一个数组,索引从0开始.我试图确定如何在数组中找到特定的项目.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

我只想要2,6,10,14.如果它不是0索引数组,我可以在索引上做模数%3并得到我想要的但我无法弄清楚如何做到这一点.

    string[] arr = new string[16];
    arr[0] = "data";
    arr[1] = "data";
    arr[2] = "data";
    arr[3] = "data";
    arr[4] = "data";
    arr[5] = "data";
    arr[6] = "data";
    arr[7] = "data";
    arr[8] = "data";
    arr[9] = "data";
    arr[10] = "data";
    arr[11] = "data";
    arr[12] = "data";
    arr[13] = "data";
    arr[14] = "data";
    arr[15] = "data";
    for (int i = 0; i < arr.Length; ++i) …
Run Code Online (Sandbox Code Playgroud)

c#

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

vs2008和vs2010之间的公共接口差异?

我刚在VS2010中创建了一个简单的项目,C#dotnet 3.5

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Business.Util
{
        public interface ICalculateCurrent<in T1, in T2, in T3, in T4>
        {
            bool GetValue(T1 obj1, T2 obj2, T3 obj3, T4 obj4);
        }

        public static class test
        {
            static void Main(string[] args)
            {

            }
        }
}
Run Code Online (Sandbox Code Playgroud)

很好,目前没有做任何事情,但它编译.

然后意识到我真的想在VS2008中做这个,dotnet3.5我创建了完全相同的代码,除了关于接口的错误我什么也得不到;

Invalid token 'in' in class, struct, or interface member declaration
Type expected
Invalid token ',' in class, struct, or interface member declaration
Invalid token ',' in class, struct, or interface member …
Run Code Online (Sandbox Code Playgroud)

c# visual-studio-2010 visual-studio-2008

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

逆正态累积分布函数转换

我们使用Extreme Optimization(http://www.extremeoptimization.com)的Extreme Numerics库作为我们的计算内核.

// portfolio risk is inverse normal cumulative distribution function
double risk = NormalDistribution.InverseDistributionFunction(
  _riskProbabilityLevel, 
  mean, 
  stdev);
Run Code Online (Sandbox Code Playgroud)

问题是现在我们正在从C#转向Java,我对Java并不是很了解,但我们的任务是重写这个特定的功能.

我有值得测试的价值:

RiskProbabilityLevel = 0.02
Mean                 = 0.06618
Standard Dev         = 0.057196166520267355

Risk                 = 0.051286461995869864
Run Code Online (Sandbox Code Playgroud)

但是在查看math3.distribution.NormalDistribution库中的各种功能时,我找不到可能相同的功能.

任何方向或帮助将不胜感激.谢谢.

c# java

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