mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	add net60 DateOnly mapping SqlServer
This commit is contained in:
		@@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  <PropertyGroup>
 | 
					  <PropertyGroup>
 | 
				
			||||||
    <OutputType>Exe</OutputType>
 | 
					    <OutputType>Exe</OutputType>
 | 
				
			||||||
    <TargetFrameworks>netcoreapp3.1;net50</TargetFrameworks>
 | 
					    <TargetFrameworks>netcoreapp3.1;net60</TargetFrameworks>
 | 
				
			||||||
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
 | 
					    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
 | 
				
			||||||
    <IsPackable>true</IsPackable>
 | 
					    <IsPackable>true</IsPackable>
 | 
				
			||||||
    <PackAsTool>true</PackAsTool>
 | 
					    <PackAsTool>true</PackAsTool>
 | 
				
			||||||
@@ -19,8 +19,8 @@
 | 
				
			|||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <PackageReference Include="Colorful.Console" Version="1.2.9" />
 | 
					    <PackageReference Include="Colorful.Console" Version="1.2.9" />
 | 
				
			||||||
    <PackageReference Include="RazorEngine.NetCore" Version="2.2.6" />
 | 
					    <PackageReference Include="RazorEngine.NetCore" Version="2.2.6" />
 | 
				
			||||||
    <PackageReference Include="System.CodeDom" Version="5.0.0" />
 | 
					    <PackageReference Include="System.CodeDom" Version="6.0.0" />
 | 
				
			||||||
    <PackageReference Include="System.Text.Encoding.CodePages" Version="5.0.0" />
 | 
					    <PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -217,7 +217,7 @@ namespace FreeSql
 | 
				
			|||||||
        /// 比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
					        /// 比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        /// <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
					        /// <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
				
			||||||
        /// <returns></returns>
 | 
					        /// <returns>key: 属性名, value: [旧值, 新值]</returns>
 | 
				
			||||||
        public Dictionary<string, object[]> CompareState<TEntity>(TEntity newdata) where TEntity : class
 | 
					        public Dictionary<string, object[]> CompareState<TEntity>(TEntity newdata) where TEntity : class
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            CheckEntityTypeOrThrow(typeof(TEntity));
 | 
					            CheckEntityTypeOrThrow(typeof(TEntity));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -223,7 +223,7 @@ namespace FreeSql
 | 
				
			|||||||
        /// 比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
					        /// 比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        /// <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
					        /// <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
				
			||||||
        /// <returns></returns>
 | 
					        /// <returns>key: 属性名, value: [旧值, 新值]</returns>
 | 
				
			||||||
        public Dictionary<string, object[]> CompareState(TEntity newdata)
 | 
					        public Dictionary<string, object[]> CompareState(TEntity newdata)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (newdata == null) return null;
 | 
					            if (newdata == null) return null;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -67,7 +67,7 @@
 | 
				
			|||||||
            比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
					            比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
				
			||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
            <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
					            <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns>key: 属性名, value: [旧值, 新值]</returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
        <member name="P:FreeSql.DbContext.EntityChangeReport.ChangeInfo.BeforeObject">
 | 
					        <member name="P:FreeSql.DbContext.EntityChangeReport.ChangeInfo.BeforeObject">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
@@ -142,7 +142,7 @@
 | 
				
			|||||||
            比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
					            比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
				
			||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
            <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
					            <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns>key: 属性名, value: [旧值, 新值]</returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
        <member name="M:FreeSql.DbSet`1.FlushState">
 | 
					        <member name="M:FreeSql.DbSet`1.FlushState">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
@@ -333,7 +333,7 @@
 | 
				
			|||||||
            比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
					            比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
				
			||||||
            </summary>
 | 
					            </summary>
 | 
				
			||||||
            <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
					            <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns>key: 属性名, value: [旧值, 新值]</returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
        <member name="M:FreeSql.IBaseRepository`1.SaveMany(`0,System.String)">
 | 
					        <member name="M:FreeSql.IBaseRepository`1.SaveMany(`0,System.String)">
 | 
				
			||||||
            <summary>
 | 
					            <summary>
 | 
				
			||||||
@@ -538,14 +538,5 @@
 | 
				
			|||||||
            <param name="that"></param>
 | 
					            <param name="that"></param>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns></returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
        <member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
 | 
					 | 
				
			||||||
            <summary>
 | 
					 | 
				
			||||||
            批量注入 Repository,可以参考代码自行调整
 | 
					 | 
				
			||||||
            </summary>
 | 
					 | 
				
			||||||
            <param name="services"></param>
 | 
					 | 
				
			||||||
            <param name="globalDataFilter"></param>
 | 
					 | 
				
			||||||
            <param name="assemblies"></param>
 | 
					 | 
				
			||||||
            <returns></returns>
 | 
					 | 
				
			||||||
        </member>
 | 
					 | 
				
			||||||
    </members>
 | 
					    </members>
 | 
				
			||||||
</doc>
 | 
					</doc>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -62,7 +62,7 @@ namespace FreeSql
 | 
				
			|||||||
        /// 比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
					        /// 比较实体,计算出值发生变化的属性,以及属性变化的前后值
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        /// <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
					        /// <param name="newdata">最新的实体对象,它将与附加实体的状态对比</param>
 | 
				
			||||||
        /// <returns></returns>
 | 
					        /// <returns>key: 属性名, value: [旧值, 新值]</returns>
 | 
				
			||||||
        Dictionary<string, object[]> CompareState(TEntity newdata);
 | 
					        Dictionary<string, object[]> CompareState(TEntity newdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        int Update(TEntity entity);
 | 
					        int Update(TEntity entity);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "profiles": {
 | 
				
			||||||
 | 
					    "WSL": {
 | 
				
			||||||
 | 
					      "commandName": "WSL2",
 | 
				
			||||||
 | 
					      "distributionName": ""
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -17,7 +17,7 @@
 | 
				
			|||||||
        <PackageReference Include="Dapper" Version="2.0.123" />
 | 
					        <PackageReference Include="Dapper" Version="2.0.123" />
 | 
				
			||||||
        <PackageReference Include="IdleBus" Version="1.5.2" />
 | 
					        <PackageReference Include="IdleBus" Version="1.5.2" />
 | 
				
			||||||
        <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.0" />
 | 
					        <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.0" />
 | 
				
			||||||
        <PackageReference Include="Microsoft.Data.SqlClient" Version="3.0.1" />
 | 
					        <PackageReference Include="Microsoft.Data.SqlClient" Version="4.0.0" />
 | 
				
			||||||
        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
 | 
					        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
 | 
				
			||||||
        <PackageReference Include="xunit" Version="2.4.1" />
 | 
					        <PackageReference Include="xunit" Version="2.4.1" />
 | 
				
			||||||
        <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
 | 
					        <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,7 +26,7 @@
 | 
				
			|||||||
	</ItemGroup>
 | 
						</ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
 | 
						<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
 | 
				
			||||||
		<PackageReference Include="FirebirdSql.Data.FirebirdClient" Version="8.5.3" />
 | 
							<PackageReference Include="FirebirdSql.Data.FirebirdClient" Version="8.5.4" />
 | 
				
			||||||
	</ItemGroup>
 | 
						</ItemGroup>
 | 
				
			||||||
	<ItemGroup Condition="'$(TargetFramework)' == 'net452'">
 | 
						<ItemGroup Condition="'$(TargetFramework)' == 'net452'">
 | 
				
			||||||
		<PackageReference Include="FirebirdSql.Data.FirebirdClient" Version="7.10.1" />
 | 
							<PackageReference Include="FirebirdSql.Data.FirebirdClient" Version="7.10.1" />
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,8 +30,8 @@
 | 
				
			|||||||
	</ItemGroup>
 | 
						</ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
 | 
						<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
 | 
				
			||||||
		<PackageReference Include="Npgsql.LegacyPostgis" Version="5.0.10" />
 | 
							<PackageReference Include="Npgsql.LegacyPostgis" Version="5.0.11" />
 | 
				
			||||||
		<PackageReference Include="Npgsql.NetTopologySuite" Version="5.0.10" />
 | 
							<PackageReference Include="Npgsql.NetTopologySuite" Version="5.0.11" />
 | 
				
			||||||
	</ItemGroup>
 | 
						</ItemGroup>
 | 
				
			||||||
	<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
 | 
						<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
 | 
				
			||||||
		<PackageReference Include="Npgsql.LegacyPostgis" Version="4.1.7" />
 | 
							<PackageReference Include="Npgsql.LegacyPostgis" Version="4.1.7" />
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,7 @@
 | 
				
			|||||||
	</ItemGroup>
 | 
						</ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
 | 
						<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
 | 
				
			||||||
		<PackageReference Include="Oscar.Data.SqlClient" Version="1.0.8.2" />
 | 
							<PackageReference Include="Oscar.Data.SqlClient" Version="4.0.5" />
 | 
				
			||||||
	</ItemGroup>
 | 
						</ItemGroup>
 | 
				
			||||||
	<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.0'">
 | 
						<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.0'">
 | 
				
			||||||
		<Reference Include="System.Data.OscarClient">
 | 
							<Reference Include="System.Data.OscarClient">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,7 +29,7 @@
 | 
				
			|||||||
		<PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
 | 
							<PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
 | 
				
			||||||
	</ItemGroup>
 | 
						</ItemGroup>
 | 
				
			||||||
	<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'net60' or '$(TargetFramework)' == 'net50'">
 | 
						<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'net60' or '$(TargetFramework)' == 'net50'">
 | 
				
			||||||
		<PackageReference Include="Microsoft.Data.SqlClient" Version="3.0.1" />
 | 
							<PackageReference Include="Microsoft.Data.SqlClient" Version="4.0.0" />
 | 
				
			||||||
	</ItemGroup>
 | 
						</ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<ItemGroup>
 | 
						<ItemGroup>
 | 
				
			||||||
@@ -42,5 +42,8 @@
 | 
				
			|||||||
	<PropertyGroup Condition="'$(TargetFramework)' == 'net40'">
 | 
						<PropertyGroup Condition="'$(TargetFramework)' == 'net40'">
 | 
				
			||||||
		<DefineConstants>net40</DefineConstants>
 | 
							<DefineConstants>net40</DefineConstants>
 | 
				
			||||||
	</PropertyGroup>
 | 
						</PropertyGroup>
 | 
				
			||||||
 | 
						<PropertyGroup Condition="'$(TargetFramework)' == 'net60'">
 | 
				
			||||||
 | 
							<DefineConstants>net60;microsoft</DefineConstants>
 | 
				
			||||||
 | 
						</PropertyGroup>
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
</Project>
 | 
					</Project>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,6 +72,15 @@ namespace FreeSql.SqlServer
 | 
				
			|||||||
                if (param.Equals(DateTimeOffset.MinValue) == true) param = new DateTimeOffset(new DateTime(1970, 1, 1), TimeSpan.Zero);
 | 
					                if (param.Equals(DateTimeOffset.MinValue) == true) param = new DateTimeOffset(new DateTime(1970, 1, 1), TimeSpan.Zero);
 | 
				
			||||||
                return string.Concat("'", ((DateTimeOffset)param).ToString("yyyy-MM-dd HH:mm:ss.fff zzzz"), "'");
 | 
					                return string.Concat("'", ((DateTimeOffset)param).ToString("yyyy-MM-dd HH:mm:ss.fff zzzz"), "'");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					#if net60
 | 
				
			||||||
 | 
					            else if (param is DateOnly || param is DateOnly?)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (param.Equals(DateOnly.MinValue) == true) param = new DateOnly(1970, 1, 1);
 | 
				
			||||||
 | 
					                return string.Concat("'", ((DateOnly)param).ToString("yyyy-MM-dd"), "'");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (param is TimeOnly || param is TimeOnly?)
 | 
				
			||||||
 | 
					                return ((TimeOnly)param).ToTimeSpan().TotalSeconds;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
            else if (param is TimeSpan || param is TimeSpan?)
 | 
					            else if (param is TimeSpan || param is TimeSpan?)
 | 
				
			||||||
                return ((TimeSpan)param).TotalSeconds;
 | 
					                return ((TimeSpan)param).TotalSeconds;
 | 
				
			||||||
            else if (param is byte[])
 | 
					            else if (param is byte[])
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,6 +37,9 @@ namespace FreeSql.SqlServer
 | 
				
			|||||||
                { typeof(TimeSpan).FullName, CsToDb.New(SqlDbType.Time, "time","time NOT NULL", false, false, 0) },{ typeof(TimeSpan?).FullName, CsToDb.New(SqlDbType.Time, "time", "time",false, true, null) },
 | 
					                { typeof(TimeSpan).FullName, CsToDb.New(SqlDbType.Time, "time","time NOT NULL", false, false, 0) },{ typeof(TimeSpan?).FullName, CsToDb.New(SqlDbType.Time, "time", "time",false, true, null) },
 | 
				
			||||||
                { typeof(DateTime).FullName, CsToDb.New(SqlDbType.DateTime, "datetime", "datetime NOT NULL", false, false, new DateTime(1970,1,1)) },{ typeof(DateTime?).FullName, CsToDb.New(SqlDbType.DateTime, "datetime", "datetime", false, true, null) },
 | 
					                { typeof(DateTime).FullName, CsToDb.New(SqlDbType.DateTime, "datetime", "datetime NOT NULL", false, false, new DateTime(1970,1,1)) },{ typeof(DateTime?).FullName, CsToDb.New(SqlDbType.DateTime, "datetime", "datetime", false, true, null) },
 | 
				
			||||||
                { typeof(DateTimeOffset).FullName, CsToDb.New(SqlDbType.DateTimeOffset, "datetimeoffset", "datetimeoffset NOT NULL", false, false, new DateTimeOffset(new DateTime(1970,1,1), TimeSpan.Zero)) },{ typeof(DateTimeOffset?).FullName, CsToDb.New(SqlDbType.DateTimeOffset, "datetimeoffset", "datetimeoffset", false, true, null) },
 | 
					                { typeof(DateTimeOffset).FullName, CsToDb.New(SqlDbType.DateTimeOffset, "datetimeoffset", "datetimeoffset NOT NULL", false, false, new DateTimeOffset(new DateTime(1970,1,1), TimeSpan.Zero)) },{ typeof(DateTimeOffset?).FullName, CsToDb.New(SqlDbType.DateTimeOffset, "datetimeoffset", "datetimeoffset", false, true, null) },
 | 
				
			||||||
 | 
					#if net60
 | 
				
			||||||
 | 
					                { typeof(DateOnly).FullName, CsToDb.New(SqlDbType.Date, "date", "date NOT NULL", false, false, new DateTime(1970,1,1)) },{ typeof(DateOnly?).FullName, CsToDb.New(SqlDbType.Date, "date", "date", false, true, null) },
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                { typeof(byte[]).FullName, CsToDb.New(SqlDbType.VarBinary, "varbinary", "varbinary(255)", false, null, new byte[0]) },
 | 
					                { typeof(byte[]).FullName, CsToDb.New(SqlDbType.VarBinary, "varbinary", "varbinary(255)", false, null, new byte[0]) },
 | 
				
			||||||
                { typeof(string).FullName, CsToDb.New(SqlDbType.NVarChar, "nvarchar", "nvarchar(255)", false, null, "") },
 | 
					                { typeof(string).FullName, CsToDb.New(SqlDbType.NVarChar, "nvarchar", "nvarchar(255)", false, null, "") },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -113,6 +113,13 @@ namespace FreeSql.SqlServer
 | 
				
			|||||||
                var ts = (TimeSpan)value;
 | 
					                var ts = (TimeSpan)value;
 | 
				
			||||||
                value = $"{ts.Hours}:{ts.Minutes}:{ts.Seconds}.{ts.Milliseconds}";
 | 
					                value = $"{ts.Hours}:{ts.Minutes}:{ts.Seconds}.{ts.Milliseconds}";
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					#if net60
 | 
				
			||||||
 | 
					            if (type == typeof(TimeOnly) || type == typeof(TimeOnly?))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var ts = (TimeOnly)value;
 | 
				
			||||||
 | 
					                value = $"{ts.Hour}:{ts.Minute}:{ts.Second}.{ts.Millisecond}";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
            return string.Format(CultureInfo.InvariantCulture, "{0}", (_orm.Ado as AdoProvider).AddslashesProcessParam(value, type, col));
 | 
					            return string.Format(CultureInfo.InvariantCulture, "{0}", (_orm.Ado as AdoProvider).AddslashesProcessParam(value, type, col));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,5 +40,8 @@
 | 
				
			|||||||
	<PropertyGroup Condition="'$(TargetFramework)' == 'net40'">
 | 
						<PropertyGroup Condition="'$(TargetFramework)' == 'net40'">
 | 
				
			||||||
		<DefineConstants>net40</DefineConstants>
 | 
							<DefineConstants>net40</DefineConstants>
 | 
				
			||||||
	</PropertyGroup>
 | 
						</PropertyGroup>
 | 
				
			||||||
 | 
						<PropertyGroup Condition="'$(TargetFramework)' == 'net60'">
 | 
				
			||||||
 | 
							<DefineConstants>net60</DefineConstants>
 | 
				
			||||||
 | 
						</PropertyGroup>
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
</Project>
 | 
					</Project>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user