项目从VS2010 升 VS2012 遇到的代表性问题及解决
最近公司要把项目从使用VS2010 转成VS2012,开始以为是个很简单的事情,后来发现有点头疼。
现在问题解决了,发现主要有以下3个方面的问题
- 第三方组件,对2012的支持的技术问题
- VS2012本身的bug
- 本身代码潜在的问题
先解决第一个问题,主要是和第三方测试工具typemock有关,我的丹麦同事和typemock公司沟通了很多次和自己反复测试之后解决了问题
解决方案
上面提到的typemock小问题,也由以下方式解决了
I suggest you decorate the test class with [Isolated] instead of using it on each method or better yet use Isolated on the entire assembly.
In order to decorate assemblies with Isolated you should add
[assembly: Isolated()] to AssemblyInfo.cs which is the same as decorating each test method with Isolated.
下面解决第二个问题,VS2012本身bug
VS2010 LocalTestRun.restrunconfig 本来可以用目录的方式在,测试开始前拷贝一些文件到测试环境,如下
VS2012中 我发现需要的xml文件都没有拷贝到测试目录,于是试了下 直接指定文件如下居然可以了,我晕倒,不过这个bug在update2中解决了,我有试过
最后一个问题,看到直接奔溃的问题,说 agent process was stopped while the test was running, 如下
开始看到这种错误直接没头绪,下意识就是网上一通子搜,相关网页很少而且每个人解决的方式也是不一样的。不过听说是可能是多线程的问题,因为这种错误一般是测试运行时后台起的多线程挂掉了。
后来抱着试试看的心态,看了看Windows log,果然还找到一个相关错误。 然后直接对应到代码 呵呵 还真是线程问题。
具体怎么解决就不赘述,因为解决方法可以有很多种,关键知道是后台线程测试时有抛异常挂掉就行了。
最后看到全绿之后,我就开始写博客了 :)绿色令程序员有种莫名的骄傲,幸福和喜悦感~~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构