Я использую Visual Studio 2008 SP1 в Windows XP SP3 для разработки решения .NET Compact Framework 3.5 SP1 для Windows CE 6.
Я хочу использовать SQL Server Compact 3.5 с пакетом обновления 2 (SP2) в своем решении, однако я замечаю нечто очень странное в том, как Visual Studio обрабатывает ссылки на сборки.
Я установил «SQL Server Compact 3.5 с пакетом обновления 2 (SP2) для Windows Рабочий стол » (SSCERuntime_x86-ENU.msi) и «SQL Server Compact 3.5 с пакетом обновления 2 (SP2) для Windows Mobile » (SSCEDeviceRuntime- ENU.msi). Первая помещает две версии сборки System.Data.SqlServerCE и одну версию сборки System.Data.SqlServerCe.Entity в GAC в Windows XP, а последняя, похоже, не помещает какую-либо сборку в Windows XP. GAC. Здесь уже это выглядит странно, потому что GAC сообщает, что версиями двух сборок являются 3.5.1.0 и 3.5.0.0 для System.Data.SqlServerCE и 3.5.1.0 для System.Data.SqlServerCE.Entity, тогда как в установочных каталогах SQL Server Compact 3.5 с пакетом обновления 2 («C: \ Program Files \ Microsoft SQL Server Compact Edition \ v3.5» и «C: \ Program Files \ Microsoft SQL Server Compact Edition \ v3.5 \ Desktop»), Windows Explorer сообщает об обеих сборках быть версии 3.5.8080.0. Теперь я знаю, что 3.5.0.0 предполагается для vanilla SQL Server Compact 3.5 (то есть без SP ), а 3.5.1.0 предполагается для SP1 не SP2. Я не устанавливал ни ваниль, ни SP1, так почему они вообще там?
Более того, в Visual Studio 2008 SP1 при попытке добавить сборку System.Data.SqlServerCE из «C: \ Program Files \ Microsoft SQL Server Compact Edition \ v3.5 \ Устройства » Visual Studio 2008 с пакетом обновления 1 (SP1) сообщает номер версии 3.5.1.0 на панели свойств. Этот номер версии, похоже, получен из сборки GAC, чего не должно быть даже для .NET Compact Framework . Реальный номер версии в «C: \ Program Files \ Microsoft SQL Server Compact Edition \ v3.5 \ Устройства » должен быть 3.5.8080.0, опять же.
Я знаю, что можно использовать частное развертывание, как описано в http://msdn.microsoft.com/en-us/library/gg213826.aspx,, но я все еще обеспокоен тем фактом, что Visual Studio вообще ссылается на неверную платформу-версию сборки, когда я специально не прибегайте к частному развертыванию.
Может быть, я просто не понимаю, как Visual Studio работает в сочетании с GAC. Может ли кто-нибудь просветить меня? Есть ли способ «исправить» это, не прибегая к частному развертыванию?