小编pea*_*dog的帖子

改善您的构建过程

或者,实际上建立一个构建过程,当没有很多的开始时.

目前,这几乎是我的团队面临的情况.我们主要进行网络应用程序开发(但目前没有桌面开发).即使使用我们适度的应用程序,软件部署仍然难以操作,而且我在这两年(我和公司)的一部分中已经出现了太多问题.现在是时候做点什么了,结果是我们能够用一块石头杀死两只Joel Test鸟(每日构建和一步构建,两者都不以任何形式存在).

我在这里得到的是一些关于我需要做的事情或者思考的事情的一般性见解,从那些从事软件开发的时间超过我的人,也有更大的脑子.我相信大多数人目前都会在测试版中发布.

相关工具:Visual Build Source Safe 6.0(我知道,但我现在无法做任何关于我们是否使用Source Safe的事情.这可能是我下一场战斗.)

暂时,我有一个Visual Build项目,它执行此操作:

  1. 获取源和放置在本地目录中,包括项目所需的必要DLL.
  2. 获取配置文件并根据需要重命名(我们将它们存储在一个特殊的子目录中,该子目录不是实际应用程序的一部分,它们根据用途命名).
  3. 使用Visual Studio构建
  4. 使用命令行进行预编译,复制到"build"目录中
  5. 复制到目的地.
  6. 获取任何必要的额外资源 - 主要是与项目关联的文档,图像和报告(并从步骤5放入目录).有很多这样的东西,我不想先包括它.但是,我只会复制更改的项目,所以也许它无关紧要.我不确定我是否真的想在之前的步骤中包含这些内容.

我仍然需要哄一些注销Visual Build的所有这些,但我还没有达到我需要做的那一点.

有没有人有任何建议或建议?我注意到,我们目前没有使用部署项目.它会删除我假设的这个构建中必需的一些步骤(比如web.config交换).

build-automation build-process build

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

正则表达式匹配2-10,但不是99

我在表单上有一个字段,它采用以下值:-1,2-10,99

我有一个关注答案2-10的商业规则.

我正在尝试编写一个匹配2-10而不是 99 的正则表达式,我遇到了麻烦.

原始表达:

^2|3|4|5|6|7|8|9|10$
Run Code Online (Sandbox Code Playgroud)

失败,因为99匹配(技术上,两次).线路边界是我从未感到满意的东西.我在expresso中对它们的不同行为比在其他地方(例如.net).在这个特定的例子中,正则表达式是在javascript中运行的.无论如何,expresso似乎忽略了它们(如果我把这些值放在括号中:

^[2|3|4|5|6|7|8|9|10]$

^[2-9]$
Run Code Online (Sandbox Code Playgroud)

如果我指定开头行/字符串结束行/字符串字符(并且是,我试图在第二种情况下分别匹配10),则"全部拼写"或作为范围,expresso永远不会返回任何匹配.

我知道我知道.如果你使用正则表达式解决问题,那么你有两个问题(并且可能他们会开始邀请朋友,事物1和事物2样式).我不具备在这里使用一个; 我可以切换到案例陈述.但似乎我应该能够在这里使用正则表达式,这似乎是一件合理的事情.当谈到正则表达式时,我仍然很绿;

javascript regex numeric-ranges

7
推荐指数
3
解决办法
2880
查看次数

我添加了一个注册表项,但我无法以编程方式找到它

所以我使用RegEdit将以下内容添加到我的工作站上的注册表中:

HKLM\SOFTWARE \富\酒吧

Bar有一对k/v对"wtf"/"idk".我通过关闭注册表并重新打开它来验证这些更改是"采取"的.嘿,他们还在那里!胀.

RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Foo\Bar");

if (key != null)
{
    var = key.GetValue("wtf").ToString();
}
Run Code Online (Sandbox Code Playgroud)

问题是,key为null.

什么时候...

Registry.LocalMachine.OpenSubKey("Software").GetSubKeyNames()
Run Code Online (Sandbox Code Playgroud)

被称为,Foo不会出现在众多的SubKeyNames中.

所以,我显然错过了一些愚蠢的东西.具体到底我错过了什么?

c# registry registrykey

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

以编程方式访问ASP.NET 2.0中继器中的数据

这是一个ASP.Net 2.0 Web应用程序.Item模板如下所示,供参考:

<ItemTemplate>
  <tr>
    <td class="class1" align=center><a href='url'><img src="img.gif"></a></td>
    <td class="class1"><%# DataBinder.Eval(Container.DataItem,"field1") %></td>
    <td class="class1"><%# DataBinder.Eval(Container.DataItem,"field2") %></td>
    <td class="class1"><%# DataBinder.Eval(Container.DataItem,"field3") %></td>
    <td class="class1"><%# DataBinder.Eval(Container.DataItem,"field4") %></td>
  </tr>
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

在代码隐藏中使用它:

foreach (RepeaterItem item in rptrFollowupSummary.Items)
{
    string val = ((DataBoundLiteralControl)item.Controls[0]).Text;
    Trace.Write(val);
}
Run Code Online (Sandbox Code Playgroud)

我生产这个:

<tr>
  <td class="class1" align=center><a href='url'><img src="img.gif"></a></td>
  <td class="class1">23</td>
  <td class="class1">1/1/2000</td>
  <td class="class1">-2</td>
  <td class="class1">11</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我需要的是Field1和Field4的数据

我似乎无法按照我说的DataList或GridView的方式获取数据,而且我似乎无法在Google上提出任何其他内容或快速利用这个来做我想做的事情.我能看到获取数据的唯一方法是使用正则表达式去获取它(因为一个人拿走了他想要的东西.他把它全部拿走了.我是个男人,不是吗?Aren我呢?)

我是在正确的轨道上(不是寻找特定的正则表达式来做这件事;伪造这可能是一个后续问题;)),还是我错过了什么?


在这种情况下,Repeater是一成不变的,所以我不能切换到更优雅的东西.曾几何时我做了类似于Alison Zhou建议使用DataLists的东西,但是已经有一段时间了(2年多),我完全忘记了这样做.Yeesh,谈论忽视一些明显的东西...

所以我按照Alison的建议做了,它工作正常.我不认为viewstate在这里是一个问题,即使这个转发器可以获得几十行.我不能真正地说这个问题,如果这样做而不是使用相反(但这对我来说似乎是一个很好的解决方案).显然,后者不是一个观点足迹,但我没有经验足以说明一种方法在我面前没有一个极端的例子时可能对另一种方法更有利.艾莉森,一个问题:为什么文字而不是标签?

Euro Micelli,我试图避免返回数据库.由于我相对于其他开发领域仍然有点绿色,我承认我不一定非常了解有多少数据库出行"恰到好处".这里不存在性能问题(我知道应用程序的负载足以知道这一点),但我想我试图避免它出于习惯,因为我的老板倾向于强调尽可能少的旅行.

asp.net data-access repeater

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

应用程序在使用ILMerge后停止记录

我有一个非常适度的应用程序,只有一个外部程序集(log4net.dll),我想使用ILMerge.我合并了App.exe和log4net.dll,生成的可执行文件(New.exe)似乎正常工作.但是,New.exe不再记录,并且在合并之前它正在记录正常.请记住,我在测试New.exe之前复制了App.exe.config.

我不知道该怎么做.有没有人知道为什么会这样?我错误地使用了ILMerge.exe一些怎么样?Reflector似乎表明New.exe是"整体"; 我可以看到Log4net程序集和一切.

.net c# log4net ilmerge

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

区分字符数据库字段中的"AB"和"Ab"

具体来说,是Sql Server 2005/T-Sql.我有一个字段,主要是一系列的两个字符,并且它们都应该是大写的,但是有一些遗留数据早于当前的DB/System,我需要弄清楚哪些记录违反了上层套管契约.

我认为这会奏效:

select * from tbl where ascii(field1) <> ascii(upper(field1))
Run Code Online (Sandbox Code Playgroud)

事实上它给了我一些记录.它们已被纠正,现在该查询不返回任何数据.但是我有人告诉我数据库中仍然存在混合的案例数据,我刚刚找到一个例子:'FS'和'Fs'都报告了相同的ascii值.

为什么这种方法存在缺陷?有什么更好的方法来解决这个问题,或者我如何才能使这种方法正常工作?

sql database sql-server ascii

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

使用 ADO 时成功执行 SQL 时返回数据库消息

我在工作中正在开发一个遗留的 VB6 应用程序,而且我已经很久没有关注 VB6 或 ADO 了。应用程序做的一件事是执行 SQL 任务,然后将成功/失败输出到 XML 文件中。如果出现错误,它会将文本插入任务节点。

我被要求做的是尝试对由成功执行的任务产生的其他普通消息执行相同的操作,例如(323 row(s)fluence)

没有使用命令对象,它只是一个 ADODB.Connection 对象。这是代码的要点:

Dim sqlStatement As String
Set sqlStatement = /* sql for task */

Dim sqlConn As ADODB.Connection
Set sqlConn = /* connection magic */

sqlConn.Execute sqlStatement, , adExecuteNoRecords
Run Code Online (Sandbox Code Playgroud)

我捕获非错误消息以便输出它们的最佳方法是什么?或者甚至有可能吗?

sql-server vb6 ado

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

asp.net-mvc新手

我是asp.net-mvc框架的新手,我想知道是否有人有一些好的起点.

基本上我的老板希望我能在最短的时间内学习框架,因为很快就会有一个很大的项目需要用mvc编写.

谢谢

asp.net-mvc

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

重新排序客户端上的ASP.net列表框中的项目,然后在服务器上识别它

我有一个带有值列表框的管理页面.用户还可以通过一些jquery更改值的顺序,理论上我们将保存该顺序,它将在其他一些异国情调的语言环境中更改列表框中的显示顺序.

jquery运行正常.当用户保存时,我使用此代码来处理列表框:

index = 0;
foreach (ListItem item in lstProspectStatus.Items)
{
     //Save that particular item's data, using index as the value for the   
     //display sequence field.

     index++;
}
Run Code Online (Sandbox Code Playgroud)

问题是,Items集合正在返回填充控件时所在项目的顺序.客户端订单更改将被忽略.

对我来说,最好的方法是什么?

.net asp.net listbox .net-2.0

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