问题描述:

I have Database (compact sql server) in a *.sdf file.

I converted a compact framework project to a regular pc project and for some reason, with the same code, and the same *.sdf file the following exception was thrown:

"the file name is not valid. check the file name for the database"

the weird thing is that on my Pc - the substring "file:\" was added to my original connection string and that's probably why the exception is thrown.

when I remove the "file:\" substring during debug mode, on runtime, the exception is not thrown.

why was this substring added? where does it come from? and how can I solve this problem?

recently I discovered that there may some some connection to the fact that the app.config file is missing.

This still doesn't explain how the original connection string exists, only with it's added substring.

Please help.

thanks in advance

网友答案:

I don't see why you would need "file://". It should work without that just fine. For sure it looks wrong that you have file:\ instead of file://

网友答案:

Since windows CE does not have a "current directory", implementations usually get the location of the currently running assembly as a directory to look in. On a desktop, the string returned by Assembly.GetExecutingAssembly().GetName().CodeBase includes that scheme prefix.

相关阅读:
Top