【发布时间】:2009-08-07 08:30:24
【问题描述】:
这个需要解释一下……
我想自动设置 IIS,以便我们的集成测试(使用 Watin)可以在任何环境中运行。为此,我想创建一个 Setup 和 Teardown,分别创建和销毁一个虚拟目录。
我想到的解决方案是使用 MSBuild Community Tasks 通过模拟的 IBuildEngine 在代码中自动化 IIS。
但是,当我尝试创建虚拟目录时,我收到以下错误代码:0x80005008。 编辑:我从早期尝试中删除了工件,现在我得到了 IndexOutOfRangeException
我在使用 IIS7 的 Vista 上。 这是我用来运行任务的代码:
var buildEngine = new MockedBuildEngine();
buildEngine.OnError += (o, e) => Console.WriteLine("ERROR" + e.Message);
buildEngine.OnMessage += (o, e) => Console.WriteLine("MESSAGE" + e.Message);
buildEngine.OnWarning += (o, e) => Console.WriteLine("WARNING: " + e.Message);
var createWebsite = new MSBuild.Community.Tasks.IIS.WebDirectoryCreate()
{
ServerName = "localhost",
VirtualDirectoryPhysicalPath = websiteFolder.FullName,
VirtualDirectoryName = "MedicatiebeheerFittests",
AccessRead = true,
AuthAnonymous = true,
AnonymousPasswordSync = false,
AuthNtlm = true,
EnableDefaultDoc = true,
BuildEngine = buildEngine
};
createWebsite.Execute();
有人知道这里发生了什么吗?或者有人知道更好的方法吗?
【问题讨论】:
-
您是否准确地隔离了您获得异常的位置?它在你的 MockedBuildEngine 中吗?
-
这是任务本身的一个例外。我很确定。