Dav*_*hel 6 visual-studio asp.net-web-api
我有一个.net 4 MVC Web Api应用程序,我最初在visual studio 2010中构建.作为此解决方案的一部分,我有一套单元测试.
我用以下方法装饰了单元测试方法
[AspNetDevelopmentServerHost("$(SolutionDir)\\DataCollectionService", "/")]
Run Code Online (Sandbox Code Playgroud)
我的理解是"$(SolutionDir)"参数保存了解决方案目录的路径,并使测试套件更通用,因为它在多个环境中工作.这在视觉工作室2010中都很有用.
但是,当我在visual studio 2012中打开项目并尝试运行测试套件时,我收到以下错误
"消息:网站路径'$(SolutionDir)\ DataCollectionService'不存在...."
如果我把它改成确切的路径就好
[AspNetDevelopmentServerHost("D:\\CASLog\\Trunk\\DataCollectionService", "/")]
Run Code Online (Sandbox Code Playgroud)
它工作正常,虽然它不再通用.
我不确定它是否重要,但我的视觉工作室2010有重新整形,而我的视觉工作室2012没有.
有什么想法吗?
因为$(SolutionDir)实际上是一个宏.VS2012中不再提供宏.一种解决方法是使用环境变量(自定义或%PathToWebRoot%).AspNetDevelopmentServerHost支持环境变量.您可以使用Environment.SetEnvironmentVariable在ClassInitializeAttribute方法中设置值.
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |