framework v2.0 and v3.5

J

jwei

i am using windows ce 5.0

cf v2.0 is already in my os desing view (platform builder) :
- a HelloWorld.exe for v2.0 works fine on my device

in platform builder i add cf v3.5 :
- a HelloWorld.exe for v3.5 works fine on my device
- a HelloWorld.exe for v2.0 throws a "Data Abort: ...
PC=035b2744(mscoree2_0.dll+0x00092744) ..."

i tried to remove cf 2.0 from os design view but i cant ... (it remains in
my os design view after right click and remove item from list)

i would run v2.0 and v3.5 apps on the devies - but how ?
 
J

jwei

ok now io can remove cf 2.0 using this step:

· Users can add support for .NET CF v3.5 in two ways. In
sqlcompact.bat under "%_WINCEROOT%\public\cebase\oak\misc\" change the
following lines from "if not "%SYSGEN_DOTNETV2_HEADLESS%"=="1" set
SYSGEN_DOTNETV2=1" to "if not "%SYSGEN_DOTNETV35_HEADLESS%"=="1" set
SYSGEN_DOTNETV35=1". Or from the catalog items view in PB remove .NET CF
v2.0 and select .NET CF v3.5.


now app for v2.0 and v3.5 are working but if i deploy something over vs2008
(debug) the cf 2.0 ist always installed via vs2008 during debug - why ?
 
P

Paul G. Tobey [eMVP]

I'd say that the most likely explanation is that you don't have .NET CF in
your OS. If you do, then VS2008 doesn't think that you do or VS2008 itself
does not have .NET CF 3.5 installed with it, so it's deploying the framework
version that it thinks is the latest, 2.0.

I'm not sure what you did to remove anything, as those instructions don't
describe removal steps. Generally, when I want to change from 2.0 to 3.5
built-in (never build in both!), I completely remove all 2.0 references from
the catalog view (in your case, remove both 3.5 and 2.0 versions), then add
the 3.5 references and do a clean sysgen. Note that, if you have 3.5 in your
OS and the VS2008 development PC has 3.5SP1, then 3.5SP1 will be deployed to
the device unless you change the settings of your VS2008 project to not
deploy the latest .NET CF version.

Paul T.
 
J

jwei

i had cf v20 in my os desing but i cant remove it (since never build in both
versions) - the problem was the sql server compact which has a dependency to
cf v20

using the follwing step allowed me to remove cf v20 and add only cf v35 :

- In sqlcompact.bat under "%_WINCEROOT%\public\cebase\oak\misc\" change the
following lines from "if not "%SYSGEN_DOTNETV2_HEADLESS%"=="1" set
SYSGEN_DOTNETV2=1" to "if not "%SYSGEN_DOTNETV35_HEADLESS%"=="1" set
SYSGEN_DOTNETV35=1".
 
P

Paul G. Tobey [eMVP]

Because of the release schedule for SQLCE versions, I made the decision not
to build versions of that directly into the OS. It just changes too often
to rebuild a device every time. I just install SQLCE on any device that
needs it in persistent storage (or allow the device user to do so).

My suggestion for modifying the dependencies would be to completely remove
the SQLCE dependency on .NET CF. That way, you can choose what version you
want to use with it.

Paul T.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top