我正在研究使用Visual Studio 2008内置的单元测试项目而不是NUnit,我想知道是否有人有任何尝试将此类单元测试项目与Cruise Control.Net集成的经验.
cruisecontrol.net continuous-integration unit-testing visual-studio
如何为我创建的网站设置iPhone上显示的图标?
我的办公室有一个中央的Source Safe 2005安装,我们用它来进行源代码控制.我无法更改办公室在服务器上使用的内容.
我在笔记本电脑上开发并希望有一个不同的本地源代码控制存储库,可以与中央服务器同步(如果可用),无论该中央提供程序是什么.请求的原因是我可以维持一个本地稳定的分支/构建用于客户端演示,同时继续开发而不必跳过火焰圈.此外,作为顾问,我的客户可能会要求我使用他们的源控制提供商,这里的灵活性将使生活更轻松.
任何现有的分布式源控制客户端都可以处理吗?
我正在寻找一些有效隐藏继承成员的方法.我有一个继承自公共基类的类库.一些较新的后代类继承了依赖属性,这些属性已成为残留,在使用IntelliSense或在可视化设计器中使用类时可能会有点混乱.
这些类是为WPF或Silverlight 2.0编写的所有控件.我知道ICustomTypeDescriptor和ICustomPropertyProvider,但我很确定那些不能在Silverlight中使用.
它不是可用性问题的功能问题.我该怎么办?
更新
我真正想隐藏的一些属性来自不属于我自己的祖先,而且由于我正在设计的特定工具,我不能将成员隐藏在new操作员身上.(我知道,这太荒谬了)
我对异常处理的工作方式从来没有完全满意,有很多异常和try/catch带来的表(堆栈展开等),但它似乎在这个过程中打破了很多OO模型.
无论如何,这是问题所在:
假设您有一些包装或包含网络文件IO操作的类(例如,在某个特定的UNC路径上读取和写入某个文件).由于各种原因,您不希望这些IO操作失败,因此如果您检测到它们失败,则重试它们并继续重试它们,直到它们成功或达到超时.我已经有了一个方便的RetryTimer类,我可以实例化它并用于在重试之间休眠当前线程并确定超时时间已经过去等等.
问题是你在这个类的几个方法中有一堆IO操作,你需要将它们包装在try-catch/retry逻辑中.
这是一个示例代码段:
RetryTimer fileIORetryTimer = new RetryTimer(TimeSpan.FromHours(10));
bool success = false;
while (!success)
{
try
{
// do some file IO which may succeed or fail
success = true;
}
catch (IOException e)
{
if (fileIORetryTimer.HasExceededRetryTimeout)
{
throw e;
}
fileIORetryTimer.SleepUntilNextRetry();
}
}
Run Code Online (Sandbox Code Playgroud)
那么,如何避免在整个班级中为每个文件IO操作复制大部分代码?我的解决方案是在类中使用匿名委托块和单个方法来执行传递给它的委托块.这允许我在其他方法中做这样的事情:
this.RetryFileIO( delegate()
{
// some code block
} );
Run Code Online (Sandbox Code Playgroud)
我有点喜欢这个,但它还有很多不足之处.我想听听其他人如何解决这类问题.
作为一名考虑迁移到.Net IIS平台的LAMP开发人员,我担心的一个问题是由于缺少shell而导致生产力下降......还有其他人有这种经历吗?是否有可能与Windows等效的Linux shell?
我不确定应该是什么样的正确尺寸.
许多网站似乎都重复说苹果触摸图标应该是57x57像素,但引用了断开的链接作为其来源.
Hanselman和playgroundblues的评论提出了不同的规模,包括163x163和60x60.
Apple自己的apple.com图标是129x129!
请参阅我的相关问题: 如何为我的网站提供iPhone的图标?
当我想制作数据库的副本时,我总是创建一个新的空数据库,然后将现有数据库的备份还原到其中.但是,我想知道这是否真的是最不容易出错,最简单,最有效的方法吗?
跟踪和/或自动化数据库架构更改的最佳方法是什么?我们的团队使用Subversion进行版本控制,我们已经能够以这种方式自动完成一些任务(将构建推送到临时服务器,将经过测试的代码部署到生产服务器),但我们仍在手动执行数据库更新.我想找到或创建一个解决方案,使我们能够跨不同环境的服务器高效工作,同时继续使用Subversion作为后端,通过该后端将代码和数据库更新推送到各种服务器.
许多流行的软件包都包含自动更新脚本,可以检测数据库版本并应用必要的更改.这是否是即使在更大规模(跨多个项目,有时还有多种环境和语言)中实现这一目标的最佳方式?如果是这样,是否有任何现有的代码可以简化流程,或者最好只是推出我们自己的解决方案?有没有人之前实现过类似的东西并将它集成到Subversion post-commit钩子中,或者这是一个坏主意?
虽然支持多个平台的解决方案更可取,但我们肯定需要支持Linux/Apache/MySQL/PHP堆栈,因为我们的大多数工作都在该平台上.
如果我在Microsoft SQL Server中向表中添加列,是否可以在查询中以逻辑方式控制列的显示位置?
我不想搞乱磁盘上列的物理布局,但我希望在可能的情况下逻辑地将列组合在一起,以便SQL Server Management Studio等工具以方便的方式列出表的内容.
我知道我可以通过SQL Management Studio执行此操作,进入表的"设计"模式并拖动列的顺序,但我希望能够在原始SQL中执行此操作,以便我可以执行排序从命令行编写脚本.
c# ×2
favicon ×2
iphone ×2
sql-server ×2
command-line ×1
database ×1
dvcs ×1
exception ×1
html ×1
iis ×1
ios ×1
migration ×1
mysql ×1
php ×1
polymorphism ×1
shell ×1
silverlight ×1
svn ×1
terminal ×1
unit-testing ×1
windows ×1
wpf ×1