Current filter:
                                You should refresh the page.
                                  • I have a project that uses version 17.1 of your products. It uses a VistaDB5 database and XPO. I recently upgraded VistaDB5 from version 5.0.5 to the latest current version  5.7.0.
                                    I am now having issues with:
                                                        IDataStore store =
                                                            DevExpress.Xpo.XpoDefault.GetConnectionProvider(connString, DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema, out needsDisposal);
                                    It is throwing:

                                    [C#]
                                    VistaDB.Diagnostic.VistaDBException (0x00000071): The file 'C:\ProgramData\Aquarius Communications\DesktopQuickies\DTQ.vdb5' already exists. Error 100 (Provider v. 5.7.4.0): Cannot create data storage or file: C:\ProgramData\Aquarius Communications\DesktopQuickies\DTQ.vdb5 Error 113 (Provider v. 5.7.4.0): Cannot create database: C:\ProgramData\Aquarius Communications\DesktopQuickies\DTQ.vdb5 ---> VistaDB.Diagnostic.VistaDBException (0x00000064): The file 'C:\ProgramData\Aquarius Communications\DesktopQuickies\DTQ.vdb5' already exists. Error 100 (Provider v. 5.7.4.0): Cannot create data storage or file: C:\ProgramData\Aquarius Communications\DesktopQuickies\DTQ.vdb5 ---> System.IO.IOException: The file 'C:\ProgramData\Aquarius Communications\DesktopQuickies\DTQ.vdb5' already exists. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) at VistaDB.Engine.Core.IO.StorageHandle.Open(String fileName, Int32 pageSize, Boolean caching) at VistaDB.Engine.Core.IO.StorageHandle..ctor(String fileName, StorageMode storageMode, Int32 pageSize, Boolean persistent) at VistaDB.Engine.Core.IO.StorageManager.OpenStorage(String fileName, StorageMode mode, Int32 SizeofPage, Boolean persistent) at VistaDB.Engine.Core.DataStorage.OnCreateStorage(StorageMode accessMode, UInt64 headerPosition) at VistaDB.Engine.Core.ClusteredRowset.OnCreateStorage(StorageMode openMode, UInt64 headerPosition) at VistaDB.Engine.Core.Database.OnCreateStorage(StorageMode openMode, UInt64 headerPosition) at VistaDB.Engine.Core.DataStorage.CreateStorage(StorageMode accessMode, UInt64 headerPosition, Boolean commit) at VistaDB.Engine.Core.DataStorage.CreateStorage(StorageMode accessMode, UInt64 headerPosition, Boolean commit) at VistaDB.Engine.Internal.DirectConnection.CreateDatabase(String fileName, Boolean stayExclusive, String cryptoKeyString, Int32 pageSize, Int32 LCID, Boolean caseSensitive, Boolean inMemory, Boolean isolated) at VistaDB.Engine.Internal.DirectConnection.CreateDatabase(String fileName, Boolean stayExclusive, String cryptoKeyString, Int32 pageSize, Int32 LCID, Boolean caseSensitive, Boolean inMemory, Boolean isolated) at VistaDB.Engine.Internal.DirectConnection.CreateDatabase(String fileName, Boolean stayExclusive, String cryptoKeyString, Int32 pageSize, Int32 LCID, Boolean caseSensitive) at DevExpress.Xpo.DB.Helpers.XPVistaDBDA`5.CreateDatabase(String fileName, Boolean stayExclusive, String encryptionKeyString, Int32 pageSize, Int32 LCID, Boolean caseSensitive) at DevExpress.Xpo.DB.VistaDBConnectionProviderBase.CreateDataBase() at DevExpress.Xpo.DB.ConnectionProviderSql..ctor(IDbConnection connection, AutoCreateOption autoCreateOption) at DevExpress.Xpo.DB.VistaDB5ConnectionProvider..ctor(IDbConnection connection, AutoCreateOption autoCreateOption) at DevExpress.Xpo.DB.VistaDB5ConnectionProvider.CreateProviderFromString(String connectionString, AutoCreateOption autoCreateOption, IDisposable[]& objectsToDisposeOnDisconnect) at DevExpress.Xpo.XpoDefault.GetConnectionProvider(String connectionString, AutoCreateOption defaultAutoCreateOption, IDisposable[]& objectsToDisposeOnDisconnect) at DTQ.Program.connectMappedXPODB() in T:\My Projects\DesktopQuickies\DesktopQuickies\Program.cs:line 178

                                    If the database already exists, it should be automatically updated and this used to be the case with VistaDB v5.0.5 .
                                    XPO now being 'free', I installed the latest version 19.1.4.0 and now get:

                                    [C#]
                                    The type 'AutoCreateOption' exists in both 'DevExpress.Data.v17.1, Version=17.1.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' and 'DevExpress.Data.v19.1, Version=19.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a'

                                    My app.config file was amended to include binding redirects as follows:

                                    [C#]
                                    <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> </configSections> <connectionStrings> <add name="DesktopQuickies.Properties.Settings.ConnectionString" connectionString="Data Source=&quot;C:\ProgramData\Aquarius Communications\DesktopQuickies\DTQ.vdb5&quot;" providerName="System.Data.VistaDB5"/> </connectionStrings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/> </startup> <runtime> <!--<NetFx40_LegacySecurityPolicy enabled="true"/>--> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="bin" /> <dependentAssembly> <assemblyIdentity name="DevExpress.Data.v17.1" publicKeyToken="b88d1754d700e49a" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-19.1.4.0" newVersion="19.1.4.0"/> </dependentAssembly> </assemblyBinding> </runtime> </configuration>

                                    This didn't work so
                                    Removing the reference to Data.v17.1 results in

                                    [C#]
                                    The type 'IXtraSerializable' is defined in an assembly that is not referenced. You must add a reference to assembly 'DevExpress.Data.v17.1, Version=17.1.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a'.

                                    plus a few other similar requests for other items contained in Data.v17.1 .
                                    What do I do now?

                                2 Solutions

                                Creation Date Importance Sort by

                                Hello Glen,
                                 
                                In a general case, two different assembly versions will not work in one project even with binding redirection, if they do not guarantee backward compatibility. Examples:

                                • A newer version does not have a certain type or member (you may receive MissingMethodException).
                                • A newer version may target a different .NET runtime version.
                                This is not specific to DevExpress assemblies, but to .NET in general.
                                 
                                About the DevExpress assemblies:
                                • There are 3 major versions in between and they have differences.
                                • Our assemblies have version numbers in their names and binding redirection will not work here. They are treated as different assemblies and there is an ambiguity when using types from them.
                                 
                                To proceed, I recommend you use only a one major version of our products:
                                • Upgrade the whole app to v19.1 using our Project Converter.
                                • Stick to v17.1.
                                Feel free to contact us if you have additional questions.
                                 
                                Thanks,
                                Andrey
                                 

                                It was a permissions issue with regard to accessing the folder holding the database and I was therefore able to revert back to XPO v17.1.

                                The above scenario still exists but no longer is holding me back :-)

                                • Andrey K (DevExpress Support) 07.29.2019

                                  Hello Glen,

                                  Am I correct that you resolved the first issue? If not, I suggest that you refer to the VistaDB support to check why the new version's behavior differs from old ones. Note also that we didn't test this exact version of VistaDB. The full list of supported database systems is here: Database Systems Supported by XPO.

                                  As for the second issue you faced - different versions DevExpress libraries can't be used in one application. Our assemblies share the same namespaces and there should be ambiguity when using them.

                                  Let me know in case of any further questions.

                                  Thanks,
                                  Andrey

                                • Glen Harvy 08.01.2019

                                  You are correct - the first issue has been resolved.

                                  The second issue is one related to your FREE version of XPO. If I have a solution using Version 17.1 of your controls and I download and install the FREE XPO Version 19.1, then your FREE version of XPO installs the latest version of DevExpress.Data as a dependency. That therefore requires me to ensure that the Visual Studio 2017 project has the Enable Auto-Generate Binding redirects turned on. That resolves many issues except those listed below. If I recall correctly, this was not the case when I installed the FREE 18.x version of XPO.

                                  The type 'SortProperty' exists in both 'DevExpress.Data.v17.1, Version=17.1.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' and 'DevExpress.Data.v19.1, Version=19.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

                                  The type 'SortingDirection' exists in both 'DevExpress.Data.v17.1, Version=17.1.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' and 'DevExpress.Data.v19.1, Version=19.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a'

                                  The type 'DefaultBoolean' exists in both 'DevExpress.Data.v17.1, Version=17.1.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' and 'DevExpress.Data.v19.1, Version=19.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a'

                                  Is this issue solvable?