Kaynağa Gözat

[Release] Sqler release/4.0.0

Lith 9 ay önce
ebeveyn
işleme
c7df53ae82

+ 1 - 1
README.md

@@ -1,5 +1,5 @@
 # sqler说明书-docker
-> 源码地址: https://github.com/serset/sqler  
+> 源码地址: https://github.com/VitLibs/Sqler  
 > 注: 在容器中  sqler = dotnet /root/app/Sqler.dll  
 
 ---------------------------------

+ 6 - 1
Sqler.sln

@@ -5,7 +5,12 @@ VisualStudioVersion = 17.1.32113.165
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sqler", "Sqler\Sqler.csproj", "{15FA4B65-9F9E-41A9-A41F-BA5E4160D05A}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vit.AutoTemp", "Vit.AutoTemp\Vit.AutoTemp.csproj", "{537F663E-B0EC-4C9B-9E11-AD83317F727C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vit.AutoTemp", "Vit.AutoTemp\Vit.AutoTemp.csproj", "{537F663E-B0EC-4C9B-9E11-AD83317F727C}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "doc", "doc", "{F0F7B3BD-9155-4120-80DB-95388EC15EF0}"
+	ProjectSection(SolutionItems) = preProject
+		README.md = README.md
+	EndProjectSection
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution

+ 6 - 6
Sqler/Data/sqler.DataEditor.json

@@ -1,10 +1,10 @@
 {
-  /* 数据库设置 */
-  "Db": {
-    /* 数据库类型,可为  mysql mssql sqlite */
-    "//type": "sqlite",
-    /* 连接字符串 */
-    "ConnectionString": "data source=Data\\db.sqlite"
+  /* Database config */
+  "Vitorm": {
+    "provider": "Vitorm.MySql.DataProvider",
+    "assemblyFile": "Vitorm.MySql.dll",
+
+    "connectionString": "Data Source=localhost;Port=3306;Database=dev-orm;SslMode=none;User Id=root;Password=123456;CharSet=utf8;allowPublicKeyRetrieval=true;"
   },
 
   "dbComment": {

+ 10 - 14
Sqler/Data/sqler.json

@@ -3,9 +3,9 @@
   "SqlRun": {
 
     "Config": {
-      /* 鏁版嵁搴撶被鍨嬶紝鍙�负  mysql mssql sqlite */
+      /* 数据库类型,可为  mysql mssql sqlite */
       "type": "sqlite",
-      /* 杩炴帴瀛楃�涓� */
+      /* 连接字符串 */
       "ConnectionString": "data source=Data\\db.sqlite"
     }
   },
@@ -17,22 +17,22 @@
 
     "SqlServerBackup": {
 
-      /* 杩炴帴瀛楃�涓� */
+      /* 连接字符串 */
       "ConnectionString": "Data Source=.;Database=Db_Dev;UID=sa;PWD=123456;",
 
-      /* 澶囦唤鏂囦欢鎵€鍦ㄦ枃浠跺す鐨勮矾寰�,鑻ヤ笉鎸囧畾鍒欎负褰撳墠璺�緞涓嬬殑"Data/SqlServerBackup"鏂囦欢澶� */
+      /* 备份文件所在文件夹的路径,若不指定则为当前路径下的"Data/SqlServerBackup"文件夹 */
       "BackupPath": "",
 
-      /* mdf鏁版嵁搴撴枃浠舵墍鍦ㄦ枃浠跺す鐨勮矾寰�,鑻ヤ笉鎸囧畾鍒欎负sqlserver绯荤粺璺�緞 */
+      /* mdf数据库文件所在文件夹的路径,若不指定则为sqlserver系统路径 */
       "MdfPath": ""
     },
 
     "MySqlBackup": {
 
-      /* 杩炴帴瀛楃�涓� */
+      /* 连接字符串 */
       "ConnectionString": "Data Source=.;Port=3306;Database=Db_Dev;SslMode=none;User Id=root;Password=123456;CharSet=utf8;",
 
-      /* 澶囦唤鏂囦欢鎵€鍦ㄦ枃浠跺す鐨勮矾寰�,鑻ヤ笉鎸囧畾鍒欎负褰撳墠璺�緞涓嬬殑"Data/MySqlBackup"鏂囦欢澶� */
+      /* 备份文件所在文件夹的路径,若不指定则为当前路径下的"Data/MySqlBackup"文件夹 */
       "BackupPath": ""
     }
 
@@ -46,13 +46,9 @@
   "SqlVersion": {
 
     "Config": {
-      /* 鏁版嵁搴撶被鍨嬶紝鍙�负  mysql mssql sqlite */
-      "type": "sqlite",
-      /*杩炴帴瀛楃�涓� */
-      "ConnectionString": "data source=Data\\db.sqlite",
-
-      /* 鏄�惁鍙�慨鏀箂ql锛堣嫢涓篺alse鍒欎笉鍙�慨鏀癸級 */
-      "SqlCodeEditable": true
+      "provider": "Sqlite",
+      "connectionString": "data source=Data\\db.sqlite",
+      "sqlCodeEditable": "true"
     }
 
   }

+ 1 - 1
Sqler/Module/ConsoleUtil/Attribute.cs

@@ -4,7 +4,7 @@
  * 版本:v1
  * 时间:2020-04-08
  * 作者:lith
- * 邮箱:serset@yeah.net
+ * 邮箱:LithWang@outlook.com
  * 说明: 
  * ========================================================================
 */

+ 1 - 1
Sqler/Module/ConsoleUtil/ConsoleHelp.cs

@@ -4,7 +4,7 @@
  * Version: v2
  * Time   : 2021-09-03
  * Author : lith
- * Email  : serset@yeah.net
+ * Email  : LithWang@outlook.com
  * Remarks: 
  * ========================================================================
 */

+ 0 - 214
Sqler/Module/EntityGenerate/EntityGenerator.cs

@@ -1,214 +0,0 @@
-#region << Version-v2 >>
-/*
- * ========================================================================
- * Version: v2
- * Time   : 2024-06-29
- * Author : lith
- * Email  : serset@yeah.net
- * Remarks: 
- * ========================================================================
-*/
-#endregion
-
-using System.Reflection;
-using System.Reflection.Emit;
-
-namespace Vit.DynamicCompile.EntityGenerate
-{
-    /*
-// https://www.cnblogs.com/sesametech-dotnet/p/13176329.html
-// https://learn.microsoft.com/zh-cn/dotnet/api/system.reflection.emit.constructorbuilder?view=net-8.0
-
-<ItemGroup>
-    <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
-    <PackageReference Include="System.Reflection.Emit" Version="4.7.0" />
-</ItemGroup>
-     */
-
-    public class EntityGenerator
-    {
-        public static CustomAttributeBuilder GetAttributeBuilder<CustomAttribute>(
-            IEnumerable<(Type type, object value)> constructorArgs = null
-            , IEnumerable<(string name, object value)> propertyValues = null
-            )
-            where CustomAttribute : Attribute
-        {
-            constructorArgs ??= new List<(Type type, object value)>();
-            propertyValues ??= new List<(string name, object value)>();
-
-            var type = typeof(CustomAttribute);
-            var ci = type.GetConstructor(constructorArgs.Select(m => m.type).ToArray());
-            var builder = new CustomAttributeBuilder(
-                ci
-                , constructorArgs.Select(m => m.value).ToArray()
-                , propertyValues.Select(property => type.GetProperty(property.name)).ToArray()
-                , propertyValues.Select(m => m.value).ToArray()
-                );
-            return builder;
-        }
-
-        public static CustomAttributeBuilder GetAttributeBuilder<CustomAttribute>
-            (IEnumerable<object> constructorArgs, IEnumerable<(string name, object value)> propertyValues = null)
-            where CustomAttribute : Attribute
-            => GetAttributeBuilder<CustomAttribute>(constructorArgs.Select(value => (value.GetType(), value)), propertyValues);
-
-
-        public static Type CreateType(TypeDescriptor typeDescriptor)
-        {
-            // #1 define Type
-            var assemblyName = new AssemblyName(typeDescriptor.assemblyName);
-            var dynamicAssembly = AssemblyBuilder.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.Run);
-            var dynamicModule = dynamicAssembly.DefineDynamicModule(typeDescriptor.moduleName);
-            var typeBuilder = dynamicModule.DefineType(typeDescriptor.typeName,
-                    TypeAttributes.Public |
-                    TypeAttributes.Class |
-                    TypeAttributes.AutoClass |
-                    TypeAttributes.AnsiClass |
-                    TypeAttributes.BeforeFieldInit |
-                    TypeAttributes.AutoLayout,
-                    null);     // This is the type of class to derive from. Use null if there isn't one
-
-            typeBuilder.DefineDefaultConstructor(MethodAttributes.Public |
-                                                MethodAttributes.SpecialName |
-                                                MethodAttributes.RTSpecialName);
-
-            // #2 Add Property
-            typeDescriptor.properties?.ForEach(property => AddProperty(typeBuilder, property));
-
-
-            // #3 attributes
-            typeDescriptor.attributes?.ForEach(attribute => typeBuilder.SetCustomAttribute(attribute));
-
-            var generatedType = typeBuilder.CreateTypeInfo().AsType();
-            return generatedType;
-        }
-        private static void AddProperty(TypeBuilder typeBuilder, PropertyDescriptor propertyDescriptor)
-        {
-            var propertyName = propertyDescriptor.name;
-            var propertyType = propertyDescriptor.type;
-
-            // #1 field
-            var fieldBuilder = typeBuilder.DefineField("_" + propertyName, propertyType, FieldAttributes.Private);
-            var propertyBuilder = typeBuilder.DefineProperty(propertyName, PropertyAttributes.HasDefault, propertyType, null);
-
-            // #2 get
-            {
-                var getMethod = typeBuilder.DefineMethod("get_" + propertyName,
-                    MethodAttributes.Public |
-                    MethodAttributes.SpecialName |
-                    MethodAttributes.HideBySig, propertyType, Type.EmptyTypes);
-                var getMethodIL = getMethod.GetILGenerator();
-                getMethodIL.Emit(OpCodes.Ldarg_0);
-                getMethodIL.Emit(OpCodes.Ldfld, fieldBuilder);
-                getMethodIL.Emit(OpCodes.Ret);
-
-                propertyBuilder.SetGetMethod(getMethod);
-            }
-
-            // #3 set
-            {
-                var setMethod = typeBuilder.DefineMethod("set_" + propertyName,
-                      MethodAttributes.Public |
-                      MethodAttributes.SpecialName |
-                      MethodAttributes.HideBySig,
-                      null, new[] { propertyType });
-                var setMethodIL = setMethod.GetILGenerator();
-                Label modifyProperty = setMethodIL.DefineLabel();
-                Label exitSet = setMethodIL.DefineLabel();
-
-                setMethodIL.MarkLabel(modifyProperty);
-                setMethodIL.Emit(OpCodes.Ldarg_0);
-                setMethodIL.Emit(OpCodes.Ldarg_1);
-                setMethodIL.Emit(OpCodes.Stfld, fieldBuilder);
-                setMethodIL.Emit(OpCodes.Nop);
-                setMethodIL.MarkLabel(exitSet);
-                setMethodIL.Emit(OpCodes.Ret);
-
-                propertyBuilder.SetSetMethod(setMethod);
-            }
-
-            // #4 attributes
-            propertyDescriptor.attributes?.ForEach(attribute => propertyBuilder.SetCustomAttribute(attribute));
-        }
-    }
-
-
-
-
-    #region TypeDescriptor
-    public class TypeDescriptor
-    {
-        public string assemblyName;
-        public string moduleName;
-        /// <summary>
-        /// The full path of the type. name cannot contain embedded nulls.
-        /// </summary>
-        public string typeName;
-
-        public List<CustomAttributeBuilder> attributes;
-
-        public List<PropertyDescriptor> properties;
-
-        public TypeDescriptor() { }
-
-        public TypeDescriptor(Dictionary<string, Type> propertiesMap)
-        {
-            assemblyName = Guid.NewGuid().ToString();
-            moduleName = "Main";
-            typeName = "DynamicClass";
-            properties = propertiesMap.AsEnumerable().Select(kv => new PropertyDescriptor { name = kv.Key, type = kv.Value }).ToList();
-        }
-
-        public TypeDescriptor AddAttribute<CustomAttribute>(
-           IEnumerable<(Type type, object value)> constructorArgs = null
-           , IEnumerable<(string name, object value)> propertyValues = null
-           )
-           where CustomAttribute : Attribute
-        {
-            attributes ??= new();
-            attributes.Add(EntityGenerator.GetAttributeBuilder<CustomAttribute>(constructorArgs, propertyValues));
-            return this;
-        }
-        public TypeDescriptor AddAttribute<CustomAttribute>(IEnumerable<object> constructorArgs, IEnumerable<(string name, object value)> propertyValues = null)
-           where CustomAttribute : Attribute
-           => AddAttribute<CustomAttribute>(constructorArgs.Select(value => (value.GetType(), value)), propertyValues);
-
-
-        public TypeDescriptor AddProperty(PropertyDescriptor property)
-        {
-            properties ??= new();
-            properties.Add(property);
-            return this;
-        }
-    }
-
-    public class PropertyDescriptor
-    {
-        public string name;
-        public Type type;
-        public List<CustomAttributeBuilder> attributes;
-
-
-        public PropertyDescriptor() { }
-        public PropertyDescriptor(string name, Type type) { this.name = name; this.type = type; }
-
-        public static PropertyDescriptor New<ValueType>(string name) => new PropertyDescriptor(name, typeof(ValueType));
-
-
-        public PropertyDescriptor AddAttribute<CustomAttribute>(
-            IEnumerable<(Type type, object value)> constructorArgs = null
-            , IEnumerable<(string name, object value)> propertyValues = null
-            )
-            where CustomAttribute : Attribute
-        {
-            attributes ??= new();
-            attributes.Add(EntityGenerator.GetAttributeBuilder<CustomAttribute>(constructorArgs, propertyValues));
-            return this;
-        }
-        public PropertyDescriptor AddAttribute<CustomAttribute>(IEnumerable<object> constructorArgs, IEnumerable<(string name, object value)> propertyValues = null)
-           where CustomAttribute : Attribute
-           => AddAttribute<CustomAttribute>(constructorArgs.Select(value => (value.GetType(), value)), propertyValues);
-    }
-    #endregion
-
-}

+ 0 - 59
Sqler/Module/EntityGenerate/EntityHelp.cs

@@ -1,59 +0,0 @@
-#region << Version-v2 >>
-/*
- * ========================================================================
- * Version: v2
- * Time   : 2024-06-29
- * Author : lith
- * Email  : serset@yeah.net
- * Remarks: 
- * ========================================================================
-*/
-#endregion
-
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-
-using Vit.Db.Module.Schema;
-
-namespace Vit.DynamicCompile.EntityGenerate
-{
-    public class EntityHelp
-    {
-        public static Type GenerateEntityBySchema(TableSchema schema, string Namespace)
-        {
-            var tableName = schema.table_name;
-
-            // #1
-            var typeDescriptor = new TypeDescriptor
-            {
-                assemblyName = "DynamicEntity",
-                moduleName = "Main",
-                typeName = Namespace + "." + tableName,
-            };
-
-            // #2 Type Attribute
-            typeDescriptor.AddAttribute<TableAttribute>(constructorArgs: new object[] { tableName });
-
-            // #3 properties
-            {
-                schema.columns.ForEach(column =>
-                {
-                    var property = new PropertyDescriptor(column.column_name, column.column_clr_type);
-
-                    //property.AddAttribute<RequiredAttribute>();
-
-                    if (column.primary_key == 1) property.AddAttribute<KeyAttribute>();
-
-                    if (column.autoincrement == 1) property.AddAttribute<DatabaseGeneratedAttribute>(constructorArgs: new object[] { DatabaseGeneratedOption.Identity });
-
-                    if (!string.IsNullOrEmpty(column.column_type))
-                        property.AddAttribute<ColumnAttribute>(constructorArgs: new object[] { column.column_name }, propertyValues: new (string, object)[] { ("TypeName", column.column_type) });
-
-                    typeDescriptor.AddProperty(property);
-                });
-            }
-
-            return EntityGenerator.CreateType(typeDescriptor);
-        }
-    }
-}

+ 2 - 2
Sqler/Module/Sqler/Logical/DataEditor/DataEditorHelp.cs

@@ -5,11 +5,11 @@ using Vit.AutoTemp.DataProvider;
 using Vit.Core.Module.Log;
 using Vit.Core.Util.ConfigurationManager;
 using Vit.Db.Module.Schema;
-using Vit.DynamicCompile.EntityGenerate;
 using Vit.Extensions;
 using Vit.Extensions.Db_Extensions;
 
 using Vitorm;
+using Vitorm.EntityGenerate;
 using Vitorm.Sql;
 
 namespace App.Module.Sqler.Logical.DataEditor
@@ -25,7 +25,7 @@ namespace App.Module.Sqler.Logical.DataEditor
         public static bool Init()
         {
 
-            // #1 unregist DataProvider
+            // #1 unregister DataProvider
             if (dataProviders != null)
             {
                 Vit.AutoTemp.AutoTempHelp.UnRegistDataProvider(dataProviders.ToArray());

+ 14 - 13
Sqler/Sqler.csproj

@@ -8,8 +8,8 @@
     <PropertyGroup>
         <TargetFramework>net6.0</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
-        <Version>4.0.0-temp</Version>
-        <Description>https://github.com/serset/Sqler</Description>
+        <Version>4.0.0</Version>
+        <Description>https://github.com/VitLibs/Sqler</Description>
     </PropertyGroup>
 
 
@@ -21,24 +21,25 @@
     <ItemGroup>
         <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
         <PackageReference Include="System.Reflection.Emit" Version="4.7.0" />
-
-        <PackageReference Include="Vit.WebHost" Version="2.1.21" />
-        <!--<PackageReference Include="Vit.Db.DbMng" Version="2.2.10" />-->
-        <PackageReference Include="Sers.Core" Version="2.1.24" />
+        <PackageReference Include="Vit.Excel" Version="2.2.16" />
+
+        <PackageReference Include="Vit.WebHost" Version="6.1.0" />
+        <PackageReference Include="Vit.Db.DbMng" Version="3.0.0" />
+        <PackageReference Include="Sers.Core" Version="2.1.27" />
+        <PackageReference Include="Vitorm.Data" Version="2.0.2" />
+        <PackageReference Include="Vitorm.EntityGenerate" Version="2.0.2" />
+        <PackageReference Include="Vitorm.MySql" Version="2.0.2" />
+        <PackageReference Include="Vitorm.Sqlite" Version="2.0.2" />
+        <PackageReference Include="Vitorm.SqlServer" Version="2.0.2" />
     </ItemGroup>
 
 
     <ItemGroup>
-        <ProjectReference Include="..\..\Vit.Db\src\Vit.Db\Vit.Db.DbMng\Vit.Db.DbMng.csproj" />
-        <ProjectReference Include="..\..\Vit.Library\Vit.Excel\Vit.Excel\Vit.Excel.csproj" />
-        <ProjectReference Include="..\..\VitormLib\Vitorm\src\Vitorm.Data\Vitorm.Data.csproj" />
-        <ProjectReference Include="..\..\VitormLib\Vitorm\src\Vitorm.MySql\Vitorm.MySql.csproj" />
-        <ProjectReference Include="..\..\VitormLib\Vitorm\src\Vitorm.Sqlite\Vitorm.Sqlite.csproj" />
-        <ProjectReference Include="..\..\VitormLib\Vitorm\src\Vitorm.SqlServer\Vitorm.SqlServer.csproj" />
-        <ProjectReference Include="..\Vit.AutoTemp\Vit.AutoTemp.csproj" />
+      <ProjectReference Include="..\Vit.AutoTemp\Vit.AutoTemp.csproj" />
     </ItemGroup>
 
 
+
     <ItemGroup>
 
         <Content Update="appsettings.json">

+ 1 - 1
Sqler/wwwroot/Scripts/EasyTab/demo_layout.html

@@ -192,7 +192,7 @@
         </div>
     </div>
     <!--<div region="south" border="false" class="south">
-        lith软件出品 邮箱:serset@yeah.net
+        lith软件出品 邮箱:LithWang@outlook.com
     </div>-->
 </body>
 </html>

+ 1 - 1
Sqler/wwwroot/Scripts/autoTemp/autoTemp.Controller.js

@@ -3,7 +3,7 @@
  * Date   : 2020-08-31
  * Version: 2.0
  * author : Lith
- * email  : serset@yeah.net
+ * email  : LithWang@outlook.com
 
  */
 ; (function (scope) {

+ 1 - 1
Sqler/wwwroot/Scripts/autoTemp/autoTemp.Field.js

@@ -3,7 +3,7 @@
  * Date   : 2020-02-19
  * Version: 2.0
  * author : Lith
- * email  : serset@yeah.net
+ * email  : LithWang@outlook.com
  */
 ; (function (scope) {
 

+ 1 - 1
Sqler/wwwroot/Scripts/autoTemp/autoTemp.dataProvider.ApiProvider.js

@@ -3,7 +3,7 @@
  * Date   : 2020-01-09
  * Version: 2.0
  * author : Lith
- * email  : serset@yeah.net 
+ * email  : LithWang@outlook.com 
  * 
  */
 ; (function (scope) {

+ 1 - 1
Sqler/wwwroot/Scripts/autoTemp/autoTemp.dataProvider.LocalStorageProvider.js

@@ -3,7 +3,7 @@
  * Date   : 2020-01-09
  * Version: 2.0
  * author : Lith
- * email  : serset@yeah.net
+ * email  : LithWang@outlook.com
  */
 ; (function (scope) {
 

+ 1 - 1
Sqler/wwwroot/Scripts/autoTemp/autoTemp.eventListener.js

@@ -2,7 +2,7 @@
  * Date   : 2020-08-30
  * Version: 1.0
  * author : Lith
- * email  : serset@yeah.net
+ * email  : LithWang@outlook.com
  */
 ;autoTemp.eventListener = new vit.EventListener();
 

+ 1 - 1
Sqler/wwwroot/Scripts/autoTemp/autoTemp.js

@@ -3,7 +3,7 @@
  * Date   : 2020-01-09
  * Version: 2.0
  * author : Lith
- * email  : serset@yeah.net
+ * email  : LithWang@outlook.com
 
  */
 ; (function (scope) {

+ 1 - 1
Sqler/wwwroot/Scripts/util/lith.js

@@ -3,7 +3,7 @@
  * Date   : 2019-08-22
  * Version: 1.6
  * author : Lith
- * email  : serset@yeah.net
+ * email  : LithWang@outlook.com
  <script type="text/javascript" src="lith.js"></script>
 
  */

+ 1 - 1
Sqler/wwwroot/Scripts/util/theme.js

@@ -2,7 +2,7 @@
  * Date   : 2020-08-31
  * Version: 2.0.3
  * author : Lith
- * email  : serset@yeah.net
+ * email  : LithWang@outlook.com
 
  */
 ; (function (theme) {

+ 1 - 1
Sqler/wwwroot/Scripts/vit/vit.EventListener.js

@@ -3,7 +3,7 @@
  * Date   : 2020-08-19
  * Version: 1.1.3.7910
  * author : Lith
- * email  : serset@yeah.net
+ * email  : LithWang@outlook.com
  */
 ; (function (vit) {
 

+ 1 - 1
Sqler/wwwroot/sqler/index.html

@@ -337,7 +337,7 @@
         </div>
     </div>
     <!--<div region="south" border="false" class="south">
-        lith软件出品 邮箱:serset@yeah.net
+        lith软件出品 邮箱:LithWang@outlook.com
     </div>-->
 </body>
 </html>

+ 4 - 6
Vit.AutoTemp/Vit.AutoTemp.csproj

@@ -5,18 +5,16 @@
     </PropertyGroup>
 
     <PropertyGroup>
-        <Description>https://github.com/serset/AutoTemp</Description>
+        <Description>https://github.com/VitLibs/Sqler</Description>
     </PropertyGroup>
 
     <PropertyGroup>
-        <DocumentationFile>bin\Debug\netstandard2.0\Vit.AutoTemp.xml</DocumentationFile>
+        <DocumentationFile>bin\Debug\netstandard2.1\Vit.AutoTemp.xml</DocumentationFile>
     </PropertyGroup>
 
-
     <ItemGroup>
-        <ProjectReference Include="..\..\Vit.Db\src\Vit.Db\Vit.Db\Vit.Db.csproj" />
-        <ProjectReference Include="..\..\VitormLib\Vitorm\src\Vitorm\Vitorm.csproj" />
+        <PackageReference Include="Vit.Db" Version="3.0.0" />
+        <PackageReference Include="Vitorm" Version="2.0.2" />
     </ItemGroup>
 
-
 </Project>