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
Post a Comment