iphone - Multiplatform MSBuild project file -


i'm working on project source code should portable possible; is, project (in c#, not relevant) represent application should executed on android (with mono-android), on iphone (with monotouch) , winmobile (with official compact framework). without going details, corresponding msbuild solution consists of independent-platform library (from source code point of view, @ least) declare various interfaces , classes represent abstraction of each feature not common various platform (i.e. ui). in addition, there corresponding library specialize (for each platform) "base library"; effective application executable program uses abstraction , common standard libraries.

developing on winmobile , android not problem: mono-android add-in can installed on vs 2010, both platforms can handled ms vs.

initially solution created in vs, initial configuration , related projects (android , winmobile) automatically generated.

after i've imported solution in monodevelop under mac (the platform officially supported monotouch), , i've created project iphone library; switching configuration generate assemblies (iphonesimulator) "base library" not possible compile due missing project type configuration; specifically, guid used monotouch <projecttypeguids> {e613f3a2-fe9c-494f-b74e-f63bcb86fea6}; adding guid can compile "base library" in monodevelop.

the problem arises when try re-import solution in vs: since there's no windows version of monotouch, vs cannot find add-in specified project type, , project doesn't load.

looking specifications of msbuild project file, seems there tons of options cannot set or modified within project/solution editor in vs; format quite complicated , i'm asking help!

is there way specify in project file project type present if particular configuration selected independently environment i'm using?

the general approach this; condition progressivly builds property, referencing value property may have:

<projecttypeguids    condition="'$(buildinginsidevisualstudio)' != 'true'"    >;{e613f3a2-fe9c-494f-b74e-f63bcb86fea6}"</projecttypeguids> <projecttypeguids>{other-guids-here}$(projecttypeguids)</projecttypeguids> 

this detect vs condition (when building) , omit unkonwn guid. i'm not sure if work when project opened, property might apply building. there may similar "sentinal" property building on mono, , can reverse condition.


Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -