Vipul Pathak wrote:
> Hi everyone,
>
> I have a .NET 1.1 application ready to be ported on .NET 2.0.
>
> With some of the features made obsolete in 2.0 and the new recomended
> methods are not available in .NET 1.1, It leaved me with a question
> in mind:
>
> How come I conditionally compile my application with .NET 1.1 and 2.0
> ?
>
> An example of obsolete method in 2.0 is:
> //-------------------------------------------------------------------
> // .NET 1.1: OK, .NET 2.0: Warning, Property
> ConfigurationSettings.AppSettings is obsolete !
> string szNewKbAddr =
> System.Configuration.ConfigurationSettings.AppSett ings[AppConstant.KEY
> _NEW_K B_ADDRESS];
>
> // .NET 1.1: Error, .NET 2.0: OK
> string szNewKbAddr =
> System.Configuration.ConfigurationManager.AppSetti ngs[AppConstant.KEY_
> NEW_KB _ADDRESS];
> //-------------------------------------------------------------------
>
>
> I have used the code block similar to below, for conditional
> compilation of code for .NET 1.1 and .NET CF:
> //-------------------------------------------------------------------
> #if(_WIN32_WCE)
> ... ... .NET CF specific code ... ...
> #else
> ... ... .NET 1.1 specific code ... ...
> #endif
> //-------------------------------------------------------------------
>
> Do we have any solution, to either conditionally compile the single
> source code application on different versions of .NET ( 1.1 and 2.0 )
> ? OR- any other solution please ?
>
> Thanks ...
Create nmake files and pass a define, like NET20. In the source, you
place
#if NET20
//... .net 20 specific
#endif
#if NET11
//... .net 11 specific
#endif
statements.
Example: (makefile_20)
SOURCES=AssemblyInfoDotNet20.cs DynamicQueryEngine.cs
SqlServerSpecificCreator.cs
REFERENCES=SD.LLBLGen.Pro.ORMSupportClasses.NET20. dll
REFDIR=..\ORMSupportClasses\DotNET2.0\bin\
all : $(SOURCES)
csc /t:library
/out

otNET2.0\bin\SD.LLBLGen.Pro.DQE.SqlServer.NET 20.dll
/doc

otNET2.0\bin\SD.LLBLGen.Pro.DQE.S
qlServer.NET20.xml /d:TRACE,DOTNET20 /o /lib:$(REFDIR) /r:$(REFERENCES)
$(SOURCES)
debug : $(SOURCES)
csc /t:library /debug
/out

otNET2.0\bin\SD.LLBLGen.Pro.DQE.SqlServer.NET 20.dll
/d:TRACE,DEBUG,DOTNET20 /lib:$(R
EFDIR) /r:$(REFERENCES) $(SOURCES)
clean:
del /Q DotNET2.0\bin\SD.LLBLGen.Pro.DQE.SqlServer.NET20.*
and I start this with a simple .cmd file:
mkdir DotNET2.0\bin
nmake /nologo /f makefile_20 clean
nmake /nologo /f makefile_20
Frans
--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website:
http://www.llblgen.com
My .NET blog:
http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------