Commit 5a956e1d authored by 黄奎's avatar 黄奎

初始化项目

parents
Pipeline #70 failed with stages
using Castle.DynamicProxy;
namespace Edu.AOP
{
/// <summary>
/// AOP帮助类
/// </summary>
public class AOPHelper
{
/// <summary>
/// 生成代理类对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static T CreateAOPObject<T>() where T : class
{
ProxyGenerator generator = new ProxyGenerator();
IOCInterceptor interceptor = new IOCInterceptor();
T t = generator.CreateClassProxy<T>(interceptor);
return t;
}
}
}
using Castle.DynamicProxy;
using System;
namespace Edu.AOP
{
/// <summary>
/// AOP属性基类
/// </summary>
public abstract class BaseInterceptorAttribute : Attribute
{
/// <summary>
/// 具体执行的方法
/// </summary>
public abstract Action Do(IInvocation invocation,Action action);
}
}
\ No newline at end of file
using Castle.DynamicProxy;
using System;
namespace Edu.AOP.CustomerAttribute
{
/// <summary>
/// 日志属性
/// </summary>
public class LogAttribute : BaseInterceptorAttribute
{
public override Action Do(IInvocation invocation, Action action)
{
return () =>
{
Console.WriteLine("LogAttribute1");
action.Invoke();
Console.WriteLine("LogAttribute2");
};
}
}
}
using Castle.DynamicProxy;
using System;
using System.Transactions;
namespace Edu.AOP.CustomerAttribute
{
/// <summary>
/// 事务属性
/// </summary>
[AttributeUsage(AttributeTargets.Method, Inherited = true)]
public class TransactionCallHandlerAttribute : BaseInterceptorAttribute
{
/// <summary>
/// 超时时间
/// </summary>
public int Timeout { get; set; }
/// <summary>
/// 事务范围
/// </summary>
public TransactionScopeOption ScopeOption { get; set; }
/// <summary>
/// 事务隔离级别
/// </summary>
public IsolationLevel IsolationLevel { get; set; }
/// <summary>
/// 构造函数
/// </summary>
public TransactionCallHandlerAttribute()
{
Timeout = 30;
ScopeOption = TransactionScopeOption.Required;
IsolationLevel = IsolationLevel.ReadCommitted;
}
/// <summary>
/// 执行方法
/// </summary>
/// <param name="invocation"></param>
/// <param name="action"></param>
/// <returns></returns>
public override Action Do(IInvocation invocation, Action action)
{
return () =>
{
Console.WriteLine("TransactionCallHandlerAttribute1");
TransactionOptions transactionOptions = new TransactionOptions
{
//设置事务隔离级别
IsolationLevel = this.IsolationLevel,
//设置事务超时时间为60秒
Timeout = new TimeSpan(0, 0, this.Timeout)
};
using (TransactionScope scope = new TransactionScope(this.ScopeOption, transactionOptions))
{
try
{
//实现事务性工作
action.Invoke();
var result = invocation.ReturnValue;
bool.TryParse((result != null ? result.ToString() : ""),out bool IsSuccess);
if (IsSuccess)
{
scope.Complete();
}
}
catch (Exception ex)
{
// 记录异常
throw ex;
}
}
Console.WriteLine("TransactionCallHandlerAttribute2");
};
}
}
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Castle.Core" Version="4.4.1" />
</ItemGroup>
</Project>
using System;
namespace Edu.AOP
{
/// <summary>
/// 拦截器基类
/// </summary>
public class IOCInterceptor : Castle.DynamicProxy.StandardInterceptor
{
/// <summary>
/// 方法调用前执行
/// </summary>
/// <param name="invocation"></param>
protected override void PreProceed(Castle.DynamicProxy.IInvocation invocation)
{
Console.WriteLine("调用前的拦截器, 方法名是: {0}", invocation.Method.Name);
}
/// <summary>
/// 方法执行时调用
/// </summary>
/// <param name="invocation"></param>
protected override void PerformProceed(Castle.DynamicProxy.IInvocation invocation)
{
var method = invocation.Method;
Action action = () => base.PerformProceed(invocation);
if (method.IsDefined(typeof(BaseInterceptorAttribute), true))
{
foreach (var attribute in method.GetCustomAttributes(typeof(BaseInterceptorAttribute), true))
{
var attr = (BaseInterceptorAttribute)attribute;
action= attr.Do(invocation,action);
}
}
action.Invoke();
Console.WriteLine("拦截的方法返回时调用的拦截, 方法名是: {0}", invocation.Method.Name);
}
/// <summary>
/// 方法执行后调用
/// </summary>
/// <param name="invocation"></param>
protected override void PostProceed(Castle.DynamicProxy.IInvocation invocation)
{
Console.WriteLine("调用后的拦截器, 方法名是: {0}", invocation.Method.Name);
}
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyTitleAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
F:\工作\微途\外网代码\education\Edu.Aop\bin\Debug\netcoreapp3.0\Edu.Aop.deps.json
F:\工作\微途\外网代码\education\Edu.Aop\bin\Debug\netcoreapp3.0\Edu.Aop.dll
F:\工作\微途\外网代码\education\Edu.Aop\bin\Debug\netcoreapp3.0\Edu.Aop.pdb
F:\工作\微途\外网代码\education\Edu.Aop\obj\Debug\netcoreapp3.0\Edu.Aop.AssemblyInfoInputs.cache
F:\工作\微途\外网代码\education\Edu.Aop\obj\Debug\netcoreapp3.0\Edu.Aop.AssemblyInfo.cs
F:\工作\微途\外网代码\education\Edu.Aop\obj\Debug\netcoreapp3.0\Edu.Aop.dll
F:\工作\微途\外网代码\education\Edu.Aop\obj\Debug\netcoreapp3.0\Edu.Aop.pdb
F:\工作\微途\外网代码\education\Edu.Aop\obj\Debug\netcoreapp3.0\Edu.Aop.csprojAssemblyReference.cache
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyTitleAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
F:\工作\微途\外网代码\education\Edu.Aop\bin\Debug\netcoreapp3.1\Edu.Aop.deps.json
F:\工作\微途\外网代码\education\Edu.Aop\bin\Debug\netcoreapp3.1\Edu.Aop.dll
F:\工作\微途\外网代码\education\Edu.Aop\obj\Debug\netcoreapp3.1\Edu.Aop.AssemblyInfoInputs.cache
F:\工作\微途\外网代码\education\Edu.Aop\obj\Debug\netcoreapp3.1\Edu.Aop.AssemblyInfo.cs
F:\工作\微途\外网代码\education\Edu.Aop\bin\Debug\netcoreapp3.1\Edu.Aop.pdb
F:\工作\微途\外网代码\education\Edu.Aop\obj\Debug\netcoreapp3.1\Edu.Aop.dll
F:\工作\微途\外网代码\education\Edu.Aop\obj\Debug\netcoreapp3.1\Edu.Aop.pdb
F:\工作\微途\外网代码\education\Edu.Aop\obj\Debug\netcoreapp3.1\Edu.Aop.csprojAssemblyReference.cache
{
"version": 1,
"dgSpecHash": "kmpyLt25d97lY6BWo8wuEgwJXCJfTirzi9F449zU8piyBNwCFIryAO/2NAH6IresfHrZpl2CIxSQjnomGnSkLQ==",
"success": true
}
\ No newline at end of file
{
"format": 1,
"restore": {
"F:\\工作\\微途\\外网代码\\education\\Edu.Aop\\Edu.Aop.csproj": {}
},
"projects": {
"F:\\工作\\微途\\外网代码\\education\\Edu.Aop\\Edu.Aop.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "F:\\工作\\微途\\外网代码\\education\\Edu.Aop\\Edu.Aop.csproj",
"projectName": "Edu.Aop",
"projectPath": "F:\\工作\\微途\\外网代码\\education\\Edu.Aop\\Edu.Aop.csproj",
"packagesPath": "C:\\Users\\qiaoyajun\\.nuget\\packages\\",
"outputPath": "F:\\工作\\微途\\外网代码\\education\\Edu.Aop\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackagesFallback\\",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
"C:\\Users\\qiaoyajun\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.Fallback.config"
],
"originalTargetFrameworks": [
"netcoreapp3.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"http://192.168.1.214:82/nuget": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netcoreapp3.0": {
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"netcoreapp3.0": {
"dependencies": {
"Castle.Core": {
"target": "Package",
"version": "[4.4.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\3.1.100\\RuntimeIdentifierGraph.json"
}
}
}
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">F:\工作\微途\外网代码\new_edu\Edu.Aop\obj\project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\qiaoyajun\.nuget\packages\;C:\Program Files (x86)\Microsoft SDKs\NuGetPackagesFallback\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">4.6.2</NuGetToolVersion>
</PropertyGroup>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
</Project>
\ No newline at end of file
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyTitleAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
F:\工作\微途\外网代码\education\Edu.Aop\bin\Release\netcoreapp3.0\Edu.Aop.deps.json
F:\工作\微途\外网代码\education\Edu.Aop\bin\Release\netcoreapp3.0\Edu.Aop.dll
F:\工作\微途\外网代码\education\Edu.Aop\bin\Release\netcoreapp3.0\Edu.Aop.pdb
F:\工作\微途\外网代码\education\Edu.Aop\obj\Release\netcoreapp3.0\Edu.Aop.csprojAssemblyReference.cache
F:\工作\微途\外网代码\education\Edu.Aop\obj\Release\netcoreapp3.0\Edu.Aop.AssemblyInfoInputs.cache
F:\工作\微途\外网代码\education\Edu.Aop\obj\Release\netcoreapp3.0\Edu.Aop.AssemblyInfo.cs
F:\工作\微途\外网代码\education\Edu.Aop\obj\Release\netcoreapp3.0\Edu.Aop.dll
F:\工作\微途\外网代码\education\Edu.Aop\obj\Release\netcoreapp3.0\Edu.Aop.pdb
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyTitleAttribute("Edu.Aop")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
F:\工作\微途\外网代码\education\Edu.Aop\bin\Release\netcoreapp3.1\Edu.Aop.deps.json
F:\工作\微途\外网代码\education\Edu.Aop\bin\Release\netcoreapp3.1\Edu.Aop.dll
F:\工作\微途\外网代码\education\Edu.Aop\bin\Release\netcoreapp3.1\Edu.Aop.pdb
F:\工作\微途\外网代码\education\Edu.Aop\obj\Release\netcoreapp3.1\Edu.Aop.csprojAssemblyReference.cache
F:\工作\微途\外网代码\education\Edu.Aop\obj\Release\netcoreapp3.1\Edu.Aop.AssemblyInfoInputs.cache
F:\工作\微途\外网代码\education\Edu.Aop\obj\Release\netcoreapp3.1\Edu.Aop.AssemblyInfo.cs
F:\工作\微途\外网代码\education\Edu.Aop\obj\Release\netcoreapp3.1\Edu.Aop.dll
F:\工作\微途\外网代码\education\Edu.Aop\obj\Release\netcoreapp3.1\Edu.Aop.pdb
{
"version": 3,
"targets": {
".NETCoreApp,Version=v3.0": {}
},
"libraries": {},
"projectFileDependencyGroups": {
".NETCoreApp,Version=v3.0": []
},
"packageFolders": {
"C:\\Users\\qiaoyajun\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackagesFallback\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "F:\\工作\\微途\\外网代码\\new_edu\\Edu.Aop\\Edu.Aop.csproj",
"projectName": "Edu.Aop",
"projectPath": "F:\\工作\\微途\\外网代码\\new_edu\\Edu.Aop\\Edu.Aop.csproj",
"packagesPath": "C:\\Users\\qiaoyajun\\.nuget\\packages\\",
"outputPath": "F:\\工作\\微途\\外网代码\\new_edu\\Edu.Aop\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackagesFallback\\"
],
"configFilePaths": [
"C:\\Users\\qiaoyajun\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.Fallback.config"
],
"originalTargetFrameworks": [
"netcoreapp3.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"http://192.168.1.214:82/nuget": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netcoreapp3.0": {
"projectReferences": {}
}
}
},
"frameworks": {
"netcoreapp3.0": {}
}
}
}
\ No newline at end of file
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using VT.FW.Cache;
namespace Edu.Cache.Base
{
/// <summary>
/// Mogo缓存基类
/// </summary>
public class BaseMongoCached<T>
{
/// Mongo配置信息
/// </summary>
private MongoHelper MongoHelper
{
get; set;
}
public BaseMongoCached()
{
var ConnectionString = Common.Config.Mongo;
var DatabaseName = Common.Config.MongoDBName;
this.MongoHelper = new MongoHelper(new MongoConfig()
{
AutoCreateCollection = true,
AutoCreateDb = true,
CollectionName = typeof(T).Name,
ConnectionString = ConnectionString,
DatabaseName = DatabaseName
});
}
/// <summary>
/// 查询
/// </summary>
/// <typeparam name="TDoc">泛型约束</typeparam>
/// <param name="filter">Expression表达式</param>
/// <param name="options"></param>
/// <returns></returns>
public List<T> Find(Expression<Func<T, bool>> filter)
{
try
{
return MongoHelper.Find<T>(filter);
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "BaseMongoCached_Find");
}
return new List<T>();
}
/// <summary>
/// 新增一条【key相同的时候不能新增成功】
/// </summary>
/// <param name="doc">新对象</param>
/// <returns>bool</returns>
public bool Insert(T doc)
{
try
{
MongoHelper.Insert<T>(doc);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 新增多条【key相同的时候不能新增成功】
/// </summary>
/// <param name="docs">新对象</param>
public bool InsertMany(IEnumerable<T> docs)
{
try
{
MongoHelper.InsertMany<T>(docs);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 更新一条
/// </summary>
/// <param name="doc">新对象</param>
/// <param name="filter">Expression表达式</param>
/// <param name="options"></param>
public bool Update(T doc, Expression<Func<T, bool>> filter)
{
try
{
MongoHelper.Update<T>(doc, filter);
return true;
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "BaseMongoCached_Update");
return false;
}
}
/// <summary>
/// 更新一条【扩展】
/// </summary>
/// <param name="doc">新对象</param>
/// <param name="filter">Expression表达式</param>
/// <param name="options"></param>
public bool UpdateExt(T doc, Expression<Func<T, bool>> filter)
{
try
{
MongoHelper.UpdateExt<T>(doc, filter);
return true;
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "BaseMongoCached_UpdateExt");
return false;
}
}
/// <summary>
/// 更新多条
/// </summary>
/// <param name="doc">新对象</param>
/// <param name="filter">Expression表达式</param>
public bool UpdateMany(T doc, Expression<Func<T, bool>> filter)
{
try
{
MongoHelper.UpdateMany<T>(doc, filter);
return true;
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "BaseMongoCached_UpdateMany");
return false;
}
}
/// <summary>
/// 删除一条
/// </summary>
/// <param name="filter">Expression表达式</param>
public bool Delete(Expression<Func<T, bool>> filter)
{
try
{
MongoHelper.Delete<T>(filter);
return true;
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "BaseMongoCached_Delete");
return false;
}
}
/// <summary>
/// 删除多条
/// </summary>
/// <param name="filter">Expression表达式</param>
public bool DeleteMany(Expression<Func<T, bool>> filter)
{
try
{
MongoHelper.DeleteMany<T>(filter);
return true;
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "BaseMongoCached_DeleteMany");
return false;
}
}
/// <summary>
/// 清空集合对象
/// </summary>
[Obsolete]
public bool ClearCollection()
{
try
{
MongoHelper.ClearCollection<T>();
return true;
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "BaseMongoCached_ClearCollection");
return false;
}
}
/// <summary>
/// 获取集合
/// </summary>
/// <returns></returns>
public IMongoCollection<T> GetCollection()
{
return MongoHelper.GetMongoCollection<T>();
}
}
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="VT.FW" Version="1.0.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Edu.Common\Edu.Common.csproj" />
</ItemGroup>
</Project>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Edu.Cache")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Edu.Cache")]
[assembly: System.Reflection.AssemblyTitleAttribute("Edu.Cache")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
F:\工作\微途\外网代码\education\Edu.Cache\bin\Debug\netcoreapp3.0\Edu.Cache.deps.json
F:\工作\微途\外网代码\education\Edu.Cache\bin\Debug\netcoreapp3.0\Edu.Cache.dll
F:\工作\微途\外网代码\education\Edu.Cache\bin\Debug\netcoreapp3.0\Edu.Cache.pdb
F:\工作\微途\外网代码\education\Edu.Cache\bin\Debug\netcoreapp3.0\Edu.Common.dll
F:\工作\微途\外网代码\education\Edu.Cache\bin\Debug\netcoreapp3.0\Edu.Common.pdb
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.0\Edu.Cache.csprojAssemblyReference.cache
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.0\Edu.Cache.AssemblyInfoInputs.cache
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.0\Edu.Cache.AssemblyInfo.cs
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.0\Edu.Cache.csproj.CopyComplete
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.0\Edu.Cache.dll
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.0\Edu.Cache.pdb
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Edu.Cache")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Edu.Cache")]
[assembly: System.Reflection.AssemblyTitleAttribute("Edu.Cache")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
F:\工作\微途\外网代码\education\Edu.Cache\bin\Debug\netcoreapp3.1\Edu.Common.dll
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.1\Edu.Cache.csprojAssemblyReference.cache
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.1\Edu.Cache.AssemblyInfoInputs.cache
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.1\Edu.Cache.AssemblyInfo.cs
F:\工作\微途\外网代码\education\Edu.Cache\bin\Debug\netcoreapp3.1\Edu.Cache.deps.json
F:\工作\微途\外网代码\education\Edu.Cache\bin\Debug\netcoreapp3.1\Edu.Cache.dll
F:\工作\微途\外网代码\education\Edu.Cache\bin\Debug\netcoreapp3.1\Edu.Cache.pdb
F:\工作\微途\外网代码\education\Edu.Cache\bin\Debug\netcoreapp3.1\Edu.Common.pdb
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.1\Edu.Cache.csproj.CopyComplete
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.1\Edu.Cache.dll
F:\工作\微途\外网代码\education\Edu.Cache\obj\Debug\netcoreapp3.1\Edu.Cache.pdb
{
"version": 1,
"dgSpecHash": "Tdg9mO/HAWpTgoDS0XEp89wHcOIFMS2InyoOA46xFyHYwoyfN6ZyhSuOsXoINsk9hwwpBi6V/PUebhGOcE3s4w==",
"success": true
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
</Project>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment