我正在使用NUnit GUI版本,当我在测试项目中加载测试项目时,它开始对我感到不安.如果我在Visual Studio中进行更改,然后尝试重建解决方案,则会抛出错误"无法将文件obj\Debug\foo.dll复制到bin\Debug\foo.dll.进程无法访问文件bin\Debug\foo.dll,因为它被另一个进程使用."
当然,这是我加载到GUI中的DLL.它曾经没问题,只是在构建后刷新项目引用,但现在它似乎阻止了它.我怎样才能回到那种行为?
我已经尝试过启用/禁用阴影复制设置,两种方式都有相同的结果.
VS2008 SP1和NUnit 2.4.8,如果重要的话.
所以我刚刚修改了一个我正在开发的框架中的bug.伪伪代码如下所示:
myoldObject = new MyObject { someValue = "old value" };
cache.Insert("myObjectKey", myoldObject);
myNewObject = cache.Get("myObjectKey");
myNewObject.someValue = "new value";
if(myObject.someValue != cache.Get("myObjectKey").someValue)
myObject.SaveToDatabase();
Run Code Online (Sandbox Code Playgroud)
所以,基本上,我从缓存中获取一个对象,然后将原始对象与缓存对象进行比较,以查看是否需要将其保存到数据库中以防它被更改.问题出现是因为原始对象是引用...所以更改someValue也会更改引用的缓存对象,因此它永远不会保存回数据库.我通过从缓存版本克隆对象来修复它,切断引用并允许我将新对象与缓存对象进行比较.
我的问题是:有没有更好的方法来做这个,一些模式,你可以推荐?我不可能是唯一一个这样做过的人:)
所以我明白拳击和拆箱是什么.什么时候出现在现实世界的代码中,或者在什么样的例子中出现问题?我无法想象做这样的事情:
int i = 123;
object o = i; // Boxing
int j = (int)o; // Unboxing
Run Code Online (Sandbox Code Playgroud)
...但这几乎肯定是极度过于简单的,我甚至可能在之前不知道它的情况下完成了装箱/拆箱.
我很好奇其他团队确保在代码发布(或部署)在主要版本中出现之前采用何种标准.
我不是在寻找每个人的具体答案,但这里有一个关于我想要了解的内容的想法.
同样,不要寻找上述任何事情的答案的逐行打孔列表.简而言之,代码发布必须完成哪些非编码项目才能正式被认为是为您的团队"完成"?
我在VS2008(C#)中有一个包含多个项目的解决方案.我刚刚为我们的构建过程重新编写了一些.csproj文件,并且突然编码项目B时不会识别类代码中项目A的引用...想想我创建的变量类型下的红色波浪线.但是,构建解决方案不会产生任何错误.为什么它会像这样?
我正在用MVC 3构建一个概念应用程序,试图了解它的方法.我以前在WebForms中使用n层方法完成了一些非常重要的应用程序,通常由存储的存储库和服务的域对象组成,以便在存储之前对它们进行操作.
我试图调和我以前用"正确"方式做事的方式在MVC中做这些事情,如果有这样的话.我现在要挂起的东西是何时使用ViewModels与何时使用我在其他项目中的域对象.验证是通过ViewModels完成的,但是当我编写更多自定义的业务逻辑验证时,似乎它对于一个低级的ViewModel负有太大的责任,它只是帮助我移动数据,然后通过存储库层将其正式存储在数据库中.
我也厌倦了将ViewModel数据映射到存储库存储和检索的"官方"域对象,但我觉得我不应该使用MVC属性来破坏我的域对象以进行验证.
对于在域对象和纯粹的ViewModel之间绘制线的位置,您有什么建议吗?或者我是否使事情变得复杂,我的ViewModel实际上应该是存储库存储的"官方"模型?
我为提出这样一个普遍的问题而道歉,但这对我来说是个挑战.我的团队即将开始一个大型项目,希望能够将所有随机的一次性代码库集中在一起.鉴于该项目将涵盖整个公司的标准化逻辑实体("客户","员工"),小任务,控制小任务的大型任务以及公用事业服务,我正在努力找出构建公司的最佳方式.名称空间和代码结构.
虽然我想我没有给你足够的细节继续,你是否有任何关于如何在逻辑上分割你的域的资源或建议?如果它有所帮助,大部分功能将通过Web服务显示,我们是一家拥有所有最新小玩意和小工具的微软商店.
OurCRMProduct.Customer类与通用Customer类相比)?BAL和DAL,或者应该说是一个完全独立的组件都引用?我没有组织这些影响深远的项目的经验,只有一次性的,所以我正在寻找我能得到的任何指导.
我见过" 最酷的服务器名称 ",我看到了另一个与我有关的小问题,不幸的是关闭了.
这是一个严肃的问题,因为我是一个内部应用程序开发团队,负责管理几十台服务器上的应用程序.网络人员通常不关心我们所谓的服务器,只要他们知道他们,所以我们可以提出任何约定.
服务器处理的应用程序可以是自行开发的自定义应用程序,也可以是SharePoint等大型供应商.他们可以:
呼!认为甚至可以提出一个可以解决所有这些方面或重要方面的公约?听到一个服务器名称(或者它的DNS条目)并且能够立即知道它的作用是很好的,它也适用于让新人加快速度."sharepoint-IPC-1已关闭"可以解析为"加利福尼亚数据中心的内部生产SharePoint Web服务器,这是负载平衡中的第一个节点已关闭!"......但这看起来似乎过于复杂.
我想到的另一件事是旧的邮件中继服务器正在退役,这意味着我们必须遍历许多旧的应用程序以重新命名硬编码的服务器值(我知道...... :).
我们的SQL Server 2005群集上有零星的,随机的查询超时.我拥有一些使用它的应用程序,所以我正在帮助调查.在常规ol'Perfmon中观察%CPU时间时,你当然可以看到它盯住了.但是,SQL活动监视器仅提供进程使用的累积CPU和IO时间,而不是当时使用的或在特定时间范围内使用的累积CPU和IO时间.也许我可以使用分析器并运行跟踪,但是这个集群使用非常频繁,我担心我会在大海捞针中寻找针.我吠叫错了树吗?
有没有人有一些很好的方法来跟踪这个环境中昂贵的查询/进程?
asp.net ×2
architecture ×1
asp.net-mvc ×1
boxing ×1
c# ×1
caching ×1
cookies ×1
legacy ×1
module ×1
namespaces ×1
nunit ×1
object ×1
performance ×1
security ×1
session ×1
sql-server ×1
standards ×1