I am trying to compile Microsoft's new Enterprise Library offering with the NAnt <solution> task. The project in question contains two .resx files which are embedded into the output. When compiled with VS 2003, these embedded resources appear in their expected namespaces. When compiled with the <solution> task, one of the resources appears in a different namespace. See below.
Projects default namespace: Microsoft.Practices.EnterpriseLibrary.Common
Project file contents:
<File
RelPath = "SR.strings"
BuildAction = "None"
Generator = "StringResourceTool"
LastGenOutput = "SR.cs"
/>
<File
RelPath = "SR.cs"
DependentUpon = "SR.strings"
SubType = "Code"
BuildAction = "Compile"
DesignTime = "True"
AutoGen = "True"
/>
<File
RelPath = "SR.resx"
DependentUpon = "SR.cs"
BuildAction = "EmbeddedResource"
/>
<File
RelPath = "Instrumentation\ProjectInstaller.cs"
SubType = "Component"
BuildAction = "Compile"
/>
<File
RelPath = "Instrumentation\ProjectInstaller.resx"
DependentUpon = "ProjectInstaller.cs"
BuildAction = "EmbeddedResource"
/>
With VS 2003, SR.resx ends up in the Microsoft.Practices.EnterpriseLibrary.Common namespace and ProjectInstaller.resx ends up in the Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation namespace. I believe this is correct.
From ILDASM:
.mresource public Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ProjectInstaller.resources
{
}
.mresource public Microsoft.Practices.EnterpriseLibrary.Common.SR.resources
{
}
With Nant <solution>, SR.resx ends up in its own namespace and ProjectInstaller.resx ends up in the Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation namespace. I believe this is incorrect. Resources at the root of the project should be placed in the project's default namespace: Microsoft.Practices.EnterpriseLibrary.Common in this case.
From ILDASM:
.mresource public Microsoft.Practices.EnterpriseLibrary.Common.Instrumentation.ProjectInstaller.resources
{
}
.mresource public SR.resources
{
}
Am I doing somehting wrong, or is the <solution> task behaving incorrectly?
Thanks,
- Tom