Awesome job on the Solution tasks. I write bi/tri lingual applications and I am happy to see that support added in. But, I found a little bug.
I don't know HOW I ended up with two dependent resources files but it would be good to correctly load them.
I have an item in a project that has multiple dependent resources:
<File
RelPath = "ChangeLanguageControl.fr-ca.resx"
DependentUpon = "ChangeLanguageControl.cs"
BuildAction = "EmbeddedResource"
/>
<File
RelPath = "ChangeLanguageControl.resx"
DependentUpon = "ChangeLanguageControl.cs"
BuildAction = "EmbeddedResource"
/>
The solution task incorrectly guesses the name of "ChangeLanguageControl.fr-ca.resx" is "ChangeLanguageControl".
I have attached the verbose output of the project. But it looks like this is the offending line:
[solution] /res:"C: \DOCUME~1\mfletche\LOCALS~1\Temp\ao_tdzw_\PetroCanada.CorpExec.Localizat ion\ChangeLanguageControl.fr- ca.resources","PetroCanada.CorpExec.Localization.ChangeLanguageControl.r esources"
and then ...
[compile] error CS1508: Resource identifier 'PetroCanada.CorpExec.Localization.ChangeLanguageControl.resources' has already been used in this assembly
C:\Documents and Settings\mfletche\Desktop\BuildTest>..\nant\bin\nant
NAnt 0.85 (Build 0.85.1533.0; net-1.0.win32; nightly; 13/03/2004) Copyright (C) 2001-2004 Gerry Shaw http://nant.sourceforge.net Buildfile: file:///C:/Documents and Settings/mfletche/Desktop/BuildTest/test.build Target(s) specified: build build: [solution] Starting solution build. [solution] Loading projects... [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\External\PetroCanada.CorpExec.Maintenance\PetroCanada.CorpExec.Maintenance.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\External\PetroCanada.CorpExec.DataAccess\PetroCanada.CorpExec.DataAccess.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\External\PetroCanada.CorpExec.Maintenance.Web\PetroCanada.CorpExec.Maintenance.Web.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\External\PetroCanada.CorpExec.Localization\PetroCanada.CorpExec.Localization.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\External\PetroCanada.CorpExec.ErrorNotification\PetroCanada.CorpExec.ErrorNotification.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\External\PetroCanada.CorpExec.Security\PetroCanada.CorpExec.Security.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\PetroCanada.Legal.MatterMng.WebControls\PetroCanada.Legal.MatterMng.WebControls.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\PetroCanada.Legal.MatterMng.QueryGenerator\PetroCanada.Legal.MatterMng.QueryGenerator.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\PetroCanada.Legal.MatterMng.Data\PetroCanada.Legal.MatterMng.Data.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\External\PetroCanada.CorpExec.Reports\PetroCanada.CorpExec.Reports.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\External\PetroCanada.CorpExec.Searcher\PetroCanada.CorpExec.Searcher.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\WebProjects\MatterMng\MatterMng.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\PetroCanada.Legal.MatterMng\PetroCanada.Legal.MatterMng.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\PetroCanada.CorpExec.SQLMaps\PetroCanada.CorpExec.SQLMaps.csproj'. [solution] Loading project 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Solutions\..\Assemblies\External\PetroCanada.CorpExec.WebControls\PetroCanada.CorpExec.WebControls.csproj'. [solution] Gathering additional dependencies... [solution] Fixing up references... [solution] Building 'PetroCanada.CorpExec.Maintenance' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Building 'PetroCanada.CorpExec.DataAccess' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Building 'PetroCanada.CorpExec.Localization' [debug]... [solution] Copying references: [solution] - log4net [copy] Copying 2 files to 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\bin\Debug\'. [copy] Copying 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\Libraries\log4net.xml' to 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\bin\Debug\log4net.xml'. [copy] Copying 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\Libraries\log4net.dll' to 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\bin\Debug\log4net.dll'. [solution] - System.Web [solution] - System.Data [solution] - System [solution] - System.XML [solution] Compiling resources: [solution] - C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\ChangeLanguageControl.fr-ca.resx [resgen] Starting 'C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\bin\resgen.exe ("C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\ChangeLanguageControl.fr-ca.resx" "C:\DOCUME~1\mfletche\LOCALS~1\Temp\ao_tdzw_\PetroCanada.CorpExec.Localization\ChangeLanguageControl.fr-ca.resources")' in 'C:\Documents and Settings\mfletche\Desktop\BuildTest' Read in 1 resources from 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\ChangeLanguageControl.fr-ca.resx' Writing resource file... Done. [solution] - C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\ChangeLanguageControl.resx [resgen] Starting 'C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\bin\resgen.exe ("C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\ChangeLanguageControl.resx" "C:\DOCUME~1\mfletche\LOCALS~1\Temp\ao_tdzw_\PetroCanada.CorpExec.Localization\ChangeLanguageControl.resources")' in 'C:\Documents and Settings\mfletche\Desktop\BuildTest' Read in 1 resources from 'C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\ChangeLanguageControl.resx' Writing resource file... Done. [solution] Starting compiler... [solution] Commands: [solution] /target:library [solution] /nologo [solution] /filealign:4096 [solution] /define:DEBUG;TRACE [solution] /warn:4 [solution] /baseaddress:11000000 [solution] /optimize- [solution] /debug+ [solution] /incremental+ [solution] /checked- [solution] /unsafe- [solution] /warnaserror- [solution] /out:"C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\bin\Debug\PetroCanada.CorpExec.Localization.dll" [solution] /r:"C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Localization\Libraries\log4net.dll" [solution] /r:"C:\WINNT\Microsoft.NET\Framework\v1.0.3705\System.Web.dll" [solution] /r:"C:\WINNT\Microsoft.NET\Framework\v1.0.3705\System.Data.dll" [solution] /r:"C:\WINNT\Microsoft.NET\Framework\v1.0.3705\System.dll" [solution] /r:"C:\WINNT\Microsoft.NET\Framework\v1.0.3705\System.Xml.dll" [solution] /res:"C:\DOCUME~1\mfletche\LOCALS~1\Temp\ao_tdzw_\PetroCanada.CorpExec.Localization\ChangeLanguageControl.fr-ca.resources","PetroCanada.CorpExec.Localization.ChangeLanguageControl.resources" [solution] /res:"C:\DOCUME~1\mfletche\LOCALS~1\Temp\ao_tdzw_\PetroCanada.CorpExec.Localization\ChangeLanguageControl.resources","PetroCanada.CorpExec.Localization.ChangeLanguageControl.resources" [solution] "AssemblyInfo.cs" [solution] "ControlAdapter.cs" [solution] "ChangeLanguageControl.cs" [solution] "WebLocalizer.cs" [solution] "LanguageSetterControl.cs" [solution] "LocalizableCA.cs" [solution] "DataGridCA.cs" [solution] "ILocalizable.cs" [solution] "ButtonCA.cs" [solution] "HyperLinkCA.cs" [solution] "LiteralCA.cs" [solution] "ValidatorsCA.cs" [solution] "RadioButtonCA.cs" [solution] "LabelCA.cs" [solution] "CheckBoxCA.cs" [solution] "LinkButtonCA.cs" [compile] error CS1508: Resource identifier 'PetroCanada.CorpExec.Localization.ChangeLanguageControl.resources' has already been used in this assembly [solution] Failure! (exit code = 1) [solution] Build failed. [solution] Project 'PetroCanada.CorpExec.Localization' failed! [solution] Continuing build with non-dependent projects. [solution] Fixing up references... [solution] Building 'PetroCanada.CorpExec.ErrorNotification' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Fixed reference 'PetroCanada.CorpExec.ErrorNotification': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.ErrorNotification\bin\Debug\PetroCanada.CorpExec.ErrorNotification.dll. [solution] Fixed reference 'PetroCanada.CorpExec.DataAccess': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.DataAccess\bin\Debug\PetroCanada.CorpExec.DataAccess.dll. [solution] Building 'PetroCanada.CorpExec.Security' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Building 'PetroCanada.Legal.MatterMng.QueryGenerator' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Building 'PetroCanada.CorpExec.Reports' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Building 'PetroCanada.CorpExec.Searcher' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Building 'PetroCanada.CorpExec.SQLMaps' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Fixed reference 'PetroCanada.CorpExec.Searcher': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Searcher\bin\Debug\PetroCanada.CorpExec.Searcher.dll. [solution] Fixed reference 'PetroCanada.CorpExec.Maintenance': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Maintenance\bin\Debug\PetroCanada.CorpExec.Maintenance.dll. [solution] Fixed reference 'PetroCanada.CorpExec.DataAccess': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.DataAccess\bin\Debug\PetroCanada.CorpExec.DataAccess.dll. [solution] Fixed reference 'PetroCanada.CorpExec.SQLMaps': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\PetroCanada.CorpExec.SQLMaps\bin\Debug\PetroCanada.CorpExec.SQLMaps.dll. [solution] Fixed reference 'PetroCanada.CorpExec.Security': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Security\bin\Debug\PetroCanada.CorpExec.Security.dll. [solution] Building 'PetroCanada.Legal.MatterMng' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Building 'PetroCanada.CorpExec.WebControls' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Fixed reference 'PetroCanada.Legal.MatterMng': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\PetroCanada.Legal.MatterMng\bin\Debug\PetroCanada.Legal.MatterMng.dll. [solution] Fixed reference 'PetroCanada.Corporate.QueryGenerator': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\PetroCanada.Legal.MatterMng.QueryGenerator\bin\Debug\PetroCanada.Corporate.QueryGenerator.dll. [solution] Fixed reference 'PetroCanada.CorpExec.Maintenance': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Maintenance\bin\Debug\PetroCanada.CorpExec.Maintenance.dll. [solution] Fixed reference 'PetroCanada.CorpExec.ErrorNotification': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.ErrorNotification\bin\Debug\PetroCanada.CorpExec.ErrorNotification.dll. [solution] Fixed reference 'PetroCanada.CorpExec.Security': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Security\bin\Debug\PetroCanada.CorpExec.Security.dll. [solution] Building 'PetroCanada.Legal.MatterMng.Data' [debug]... [solution] Project is up-to-date. [solution] Fixing up references... [solution] Fixed reference 'PetroCanada.CorpExec.WebControls': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.WebControls\bin\Debug\PetroCanada.CorpExec.WebControls.dll. [solution] Fixed reference 'PetroCanada.CorpExec.Maintenance': -> C:\Documents and Settings\mfletche\Desktop\BuildTest\Assemblies\External\PetroCanada.CorpExec.Maintenance\bin\Debug\PetroCanada.CorpExec.Maintenance.dll. [solution] Building 'PetroCanada.CorpExec.Maintenance.Web' [debug]... [solution] Project is up-to-date. BUILD FAILED Project build failed. Total time: 11.5 seconds.
