Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用环境变量对具有AspNetDevelopmentServerAttribute的WCF服务进行单元测试_C#_Asp.net_.net_Wcf_Unit Testing - Fatal编程技术网

C# 使用环境变量对具有AspNetDevelopmentServerAttribute的WCF服务进行单元测试

C# 使用环境变量对具有AspNetDevelopmentServerAttribute的WCF服务进行单元测试,c#,asp.net,.net,wcf,unit-testing,C#,Asp.net,.net,Wcf,Unit Testing,我试图在单元测试期间启动一个AspNetDevelopmentService,我发现它可以使用 它工作得很好: [AspNetDevelopmentServer("http://localhost:49409/", @"C:\Projects\WcfTestPlatform1\Bench.Services")] public void TestMethod1() { var channel = new ChannelFactory<IMyContract>("*").Crea

我试图在单元测试期间启动一个AspNetDevelopmentService,我发现它可以使用

它工作得很好:

[AspNetDevelopmentServer("http://localhost:49409/", @"C:\Projects\WcfTestPlatform1\Bench.Services")]
public void TestMethod1()
{
    var channel = new ChannelFactory<IMyContract>("*").CreateChannel();
    var result = channel.SayHello("Titi");

    Assert.AreEqual("Hello Titi", result);
}
[AspNetDevelopmentServer(“http://localhost:49409/“,@“C:\Projects\WcfTestPlatform1\Bench.Services”)]
公共void TestMethod1()
{
var channel=new ChannelFactory(“*”).CreateChannel();
var结果=channel.SayHello(“Titi”);
Assert.AreEqual(“你好,提提”,result);
}
正如msdn所说,可以在服务路径中使用环境变量。所以我尝试了这样一条路径:
[AspNetDevelopmentServer(“http://localhost:49409/“,@“%SolutionDir%Bench.Services”)]
,但这不起作用

有没有一种方法可以实现我在这里尝试做的事情:设置与解决方案相关的服务路径?

谢谢

编辑1: 我尝试了
%PathToWebRoot%
变量:
[AspNetDevelopmentServer(“http://localhost:49409/“,@“%PathToWebRoot%”]
:它工作正常,但不能替换SolutionDir相对路径。所以我现在就用它。
请不要犹豫,如果有人知道任何其他方法,可以相当于我正在寻找的。

您尝试过${SolutionDir}而不是%SolutionDir%?谢谢。这是一个好主意,实际上是我的第一次尝试,直到我在msdn上看到示例将变量格式化为%xx%。顺便说一下,它不起作用:-)