Nant Error: “The type or namespace does not exist”
I was trying to run a nant task on a new project this morning but received the following error:
error CS0234: The type or namespace name 'RegularExpressions' does not exist in the namespace 'System.Text' (are you missing an assembly reference?)
The RegularExpressions namespace definitely exists as it has been around since .NET 1.1.
The code looked something like this:
<target name="DoReplace">
<script language="C#" >
<code>
<![CDATA[
public static void ScriptMain(Project project)
{
var rx = System.Text.RegularExpressions.Regex();
// ...
}
]]>
</code>
</script>
</target>
The solution was quite simple, add a reference block:
<target name="DoReplace">
<script language="C#" >
<references>
<lib>
<include name="System.dll" />
</lib>
</references>
<code>
// as before
</code>
</script>
</target>
I don’t know why it would be necessary to reference a basic system assembly, but it was for me.
No related posts.