gpt4 book ai didi

visual-studio - 为什么 "$(SolutionDir)"在 Visual Studio 2012 中不起作用?

转载 作者:行者123 更新时间:2023-12-04 15:01:39 25 4
gpt4 key购买 nike

我有一个最初在 Visual Studio 2010 中构建的 .net 4 MVC Web Api 应用程序。作为此解决方案的一部分,我有一套单元测试。

我用以下内容装饰了单元测试方法

 [AspNetDevelopmentServerHost("$(SolutionDir)\\DataCollectionService", "/")]

我的理解是“$(SolutionDir)”参数保存解决方案目录的路径,并使测试套件在多个环境中工作时更加通用。这一切在 Visual Studio 2010 中都非常有效。

但是,当我在 Visual Studio 2012 中打开项目并尝试运行测试套件时,出现以下错误

“消息:网站路径‘$(SolutionDir)\DataCollectionService’不存在......”

如果我将其更改为确切的路径,例如
    [AspNetDevelopmentServerHost("D:\\CASLog\\Trunk\\DataCollectionService", "/")]

它工作正常,虽然它不再是通用的。

我不确定它是否重要,但我的 Visual Studio 2010 具有更清晰的功能,而我的 Visual Studio 2012 则没有。

知道发生了什么吗?

最佳答案

因为 $(SolutionDir)实际上是一个宏。宏在 VS2012 中不再可用。
一种解决方法是使用环境变量(自定义或 %PathToWebRoot%)。 AspNetDevelopmentServerHost 支持环境变量。您可以使用 Environment.SetEnvironmentVariable 在 ClassInitializeAttribute 方法中设置该值。

关于visual-studio - 为什么 "$(SolutionDir)"在 Visual Studio 2012 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12682056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com