Skip to content

Commit 2961208

Browse files
committed
recover
1 parent 436b871 commit 2961208

File tree

14 files changed

+529
-5
lines changed

14 files changed

+529
-5
lines changed

Diff for: .github/workflows/publish.yml

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Publish
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
push:
8+
branches:
9+
- main
10+
11+
jobs:
12+
13+
publish:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v3
18+
- name: 🔨 Setup .NET Core 3.1.X SDK
19+
uses: actions/setup-dotnet@v2
20+
with:
21+
dotnet-version: '3.1.x'
22+
23+
- name: 🔨 Setup .NET 5.0.X SDK
24+
uses: actions/setup-dotnet@v2
25+
with:
26+
dotnet-version: '5.x'
27+
28+
29+
- name: 🔨 Setup .NET 6.X SDK
30+
uses: actions/setup-dotnet@v2
31+
with:
32+
dotnet-version: '6.x'
33+
34+
35+
- name: Release Dll
36+
run : dotnet build -c Release
37+
38+
39+
- name: Pack - Domain
40+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/Natasha.Domain/Natasha.Domain.csproj -o .
41+
42+
- name: Push to Nuget - Domain
43+
run: dotnet nuget push *.Domain.*.nupkg -k ${{ secrets.NUGET_KEY }} -s https://api.nuget.org/v3/index.json --skip-duplicate
44+
45+
46+
- name: Pack - Compiler
47+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/Natasha.CSharp/Natasha.CSharp/Natasha.CSharp.csproj -o .
48+
49+
- name: Push to Nuget - Compiler
50+
run: dotnet nuget push *.CSharp.*.nupkg -k ${{ secrets.NUGET_KEY }} -s https://api.nuget.org/v3/index.json --skip-duplicate
51+
52+
53+
54+

Diff for: CNAME

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
natasha.dotnetcore.xyz

Diff for: Natasha.sln

+33
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1616
EndProject
1717
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{508A2E20-BB12-4610-8CB2-0B07B233DE68}"
1818
EndProject
19+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{B4487ABB-27A2-4353-AB16-1A94B31E0210}"
20+
EndProject
1921
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Natasha.Domain", "src\Natasha.Domain\Natasha.Domain.csproj", "{E9E2DC38-DE80-445C-B2F8-0A7B47D0A44D}"
2022
EndProject
2123
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CSharp", "CSharp", "{8C9B862A-B569-460C-8B74-E74C6DF0CAB3}"
@@ -26,6 +28,16 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Natasha.CSharp.Extension.Am
2628
EndProject
2729
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Natasha.CSharp", "src\Natasha.CSharp\Natasha.CSharp\Natasha.CSharp.csproj", "{7E92644E-9DA0-493A-B1C6-B0E9E1D1C85B}"
2830
EndProject
31+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PluginSample", "samples\PluginSample\PluginSample\PluginSample.csproj", "{B9B66D92-BDFB-4D06-9C63-227176CD157C}"
32+
EndProject
33+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugin", "Plugin", "{5A4C28F6-36C5-4735-A1E0-E4BC5DD7F5F8}"
34+
EndProject
35+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PluginA", "samples\PluginSample\PluginA\PluginA.csproj", "{C11CDBDF-E204-412F-A1AF-C2AD83383599}"
36+
EndProject
37+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PluginB", "samples\PluginSample\PluginB\PluginB.csproj", "{79A7531B-2FA0-4964-963B-116079218C0D}"
38+
EndProject
39+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PluginBase", "samples\PluginSample\PluginBase\PluginBase.csproj", "{DB5B9B16-2A17-4B70-AAD1-5DF19B09BE9A}"
40+
EndProject
2941
Global
3042
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3143
Debug|Any CPU = Debug|Any CPU
@@ -44,6 +56,22 @@ Global
4456
{7E92644E-9DA0-493A-B1C6-B0E9E1D1C85B}.Debug|Any CPU.Build.0 = Debug|Any CPU
4557
{7E92644E-9DA0-493A-B1C6-B0E9E1D1C85B}.Release|Any CPU.ActiveCfg = Release|Any CPU
4658
{7E92644E-9DA0-493A-B1C6-B0E9E1D1C85B}.Release|Any CPU.Build.0 = Release|Any CPU
59+
{B9B66D92-BDFB-4D06-9C63-227176CD157C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
60+
{B9B66D92-BDFB-4D06-9C63-227176CD157C}.Debug|Any CPU.Build.0 = Debug|Any CPU
61+
{B9B66D92-BDFB-4D06-9C63-227176CD157C}.Release|Any CPU.ActiveCfg = Release|Any CPU
62+
{B9B66D92-BDFB-4D06-9C63-227176CD157C}.Release|Any CPU.Build.0 = Release|Any CPU
63+
{C11CDBDF-E204-412F-A1AF-C2AD83383599}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
64+
{C11CDBDF-E204-412F-A1AF-C2AD83383599}.Debug|Any CPU.Build.0 = Debug|Any CPU
65+
{C11CDBDF-E204-412F-A1AF-C2AD83383599}.Release|Any CPU.ActiveCfg = Release|Any CPU
66+
{C11CDBDF-E204-412F-A1AF-C2AD83383599}.Release|Any CPU.Build.0 = Release|Any CPU
67+
{79A7531B-2FA0-4964-963B-116079218C0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
68+
{79A7531B-2FA0-4964-963B-116079218C0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
69+
{79A7531B-2FA0-4964-963B-116079218C0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
70+
{79A7531B-2FA0-4964-963B-116079218C0D}.Release|Any CPU.Build.0 = Release|Any CPU
71+
{DB5B9B16-2A17-4B70-AAD1-5DF19B09BE9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
72+
{DB5B9B16-2A17-4B70-AAD1-5DF19B09BE9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
73+
{DB5B9B16-2A17-4B70-AAD1-5DF19B09BE9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
74+
{DB5B9B16-2A17-4B70-AAD1-5DF19B09BE9A}.Release|Any CPU.Build.0 = Release|Any CPU
4775
EndGlobalSection
4876
GlobalSection(SolutionProperties) = preSolution
4977
HideSolutionNode = FALSE
@@ -54,6 +82,11 @@ Global
5482
{0CB3AF52-50F3-4728-BAC6-389F2E995111} = {8C9B862A-B569-460C-8B74-E74C6DF0CAB3}
5583
{B0029058-4D8F-4CA0-A5DF-8DA84F992F2B} = {0CB3AF52-50F3-4728-BAC6-389F2E995111}
5684
{7E92644E-9DA0-493A-B1C6-B0E9E1D1C85B} = {8C9B862A-B569-460C-8B74-E74C6DF0CAB3}
85+
{B9B66D92-BDFB-4D06-9C63-227176CD157C} = {5A4C28F6-36C5-4735-A1E0-E4BC5DD7F5F8}
86+
{5A4C28F6-36C5-4735-A1E0-E4BC5DD7F5F8} = {B4487ABB-27A2-4353-AB16-1A94B31E0210}
87+
{C11CDBDF-E204-412F-A1AF-C2AD83383599} = {5A4C28F6-36C5-4735-A1E0-E4BC5DD7F5F8}
88+
{79A7531B-2FA0-4964-963B-116079218C0D} = {5A4C28F6-36C5-4735-A1E0-E4BC5DD7F5F8}
89+
{DB5B9B16-2A17-4B70-AAD1-5DF19B09BE9A} = {5A4C28F6-36C5-4735-A1E0-E4BC5DD7F5F8}
5790
EndGlobalSection
5891
GlobalSection(ExtensibilityGlobals) = postSolution
5992
SolutionGuid = {3004E730-B231-40FA-B75C-58D7DDE17679}

Diff for: lang/english/README.md

+156
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
<p align="center">
2+
<span>English</span> |
3+
<a href="https://github.com/dotnetcore/natasha">中文</a>
4+
</p>
5+
6+
# Natasha
7+
8+
[![Member project of .NET Core Community](https://img.shields.io/badge/member%20project%20of-NCC-9e20c9.svg)](https://github.com/dotnetcore)
9+
[![NuGet Badge](https://buildstats.info/nuget/DotNetCore.Natasha?includePreReleases=true)](https://www.nuget.org/packages/DotNetCore.Natasha)
10+
[![Gitter](https://badges.gitter.im/dotnetcore/natasha.svg)](https://gitter.im/dotnetcore/Natasha?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
11+
[![Badge](https://img.shields.io/badge/link-996.icu-red.svg)](https://996.icu/#/zh_CN)
12+
[![GitHub license](https://img.shields.io/github/license/dotnetcore/natasha.svg)](https://github.com/dotnetcore/Natasha/blob/master/LICENSE)
13+
14+
&ensp;&ensp;&ensp;&ensp;This is a roslyn-based dynamic compilation library that provides you with efficient, high-performance, traceable dynamic build solutions. It is compatible with stanadard2.0, and uses only native C # syntax without Emit.
15+
Make your dynamic approach easier to write, track, and maintain. Welcome to discuss with me online.:[Click and join the gitter](https://gitter.im/dotnetcore/Natasha)
16+
17+
<br/>
18+
19+
### Library Info
20+
21+
22+
[![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/dotnetcore/natasha.svg)](https://github.com/dotnetcore/Natasha/releases) ![GitHub repo size](https://img.shields.io/github/repo-size/dotnetcore/Natasha.svg) [![GitHub commit activity](https://img.shields.io/github/commit-activity/m/dotnetcore/natasha.svg)](https://github.com/dotnetcore/Natasha/commits/master) [![Codecov](https://img.shields.io/codecov/c/github/dotnetcore/natasha.svg)](https://codecov.io/gh/dotnetcore/Natasha)
23+
24+
| Script | .NET Env | Document |
25+
| ------ | -------- | -------- |
26+
| ![Compile](https://img.shields.io/badge/script-csharp-green.svg) | ![standard](https://img.shields.io/badge/platform-standard2.0-blue.svg) ![standard](https://img.shields.io/badge/platform-netcore3.0-blue.svg) ![standard](https://img.shields.io/badge/platform-netcore3.1-blue.svg) ![standard](https://img.shields.io/badge/platform-net5.0-blue.svg)| [![wiki](https://img.shields.io/badge/wiki-ch-blue.svg)](https://natasha.dotnetcore.xyz/) |
27+
28+
| CI Platform | Build Server | Master Build |
29+
|--------- |--------- |---------|
30+
| Github |![os](https://img.shields.io/badge/os-all-black.svg)| [![Build status](https://img.shields.io/github/workflow/status/dotnetcore/Natasha/.NET%20Core/master)](https://github.com/dotnetcore/Natasha/actions) |
31+
| Azure |![Windows](https://img.shields.io/badge/os-win-black.svg) | [![Build Status](https://dev.azure.com/NightMoonStudio/Natasha/_apis/build/status/dotnetcore.Natasha?branchName=master&jobName=Windows)](https://dev.azure.com/NightMoonStudio/Natasha/_build/latest?definitionId=3&branchName=master)|
32+
| Azure |![linux](https://img.shields.io/badge/os-linux-black.svg) |[![Build Status](https://dev.azure.com/NightMoonStudio/Natasha/_apis/build/status/dotnetcore.Natasha?branchName=master&jobName=Linux)](https://dev.azure.com/NightMoonStudio/Natasha/_build/latest?definitionId=3&branchName=master)|
33+
| Azure |![mac](https://img.shields.io/badge/os-mac-black.svg)| [![Build Status](https://dev.azure.com/NightMoonStudio/Natasha/_apis/build/status/dotnetcore.Natasha?branchName=master&jobName=macOS)](https://dev.azure.com/NightMoonStudio/Natasha/_build/latest?definitionId=3&branchName=master)|
34+
35+
<br/>
36+
<br/>
37+
38+
### User Api:
39+
| Order | Operation | Target | Description |
40+
|-- |-------- |--------------| --------|
41+
| 1 | Reference Library | DotNetCore.Natasha.CSharp.All | |
42+
| 2 | Initialization | NatashaInitializer.InitializeAndPreheating(); / Initialize(); | Preheating will take some time, and later compilation will be fast, or you can only initialize without preheating. |
43+
| 3 | Write code | instructions [https://natasha.dotnetcore.xyz/](https://natasha.dotnetcore.xyz/) | Contact me: [email protected] or [FAQ](https://github.com/dotnetcore/Natasha/blob/master/docs/FAQ.md) or [create issue](https://github.com/dotnetcore/Natasha/issues/new) |
44+
45+
<br/>
46+
<br/>
47+
48+
### 发布日志
49+
- Release log in 2019 [[Done]](https://github.com/dotnetcore/Natasha/blob/master/docs/zh/update/2019.md)
50+
- Release log in 2020 [[In process]](https://github.com/dotnetcore/Natasha/blob/master/docs/zh/update/2020.md)
51+
- 2020-08-06 : 发布 v4.1.0.0,支持域内动态编程时插件 Using 引用覆盖 以及 动态生成程序集的 Using 引用覆盖, 减少开发者在域内编程时对 Using 的过多关注。 升级 Natasha.Framework; 添加 GetReferenceElements API 以便返回当前域所有的引用,增加 AddAssemblyEvent/RemoveAssemblyEvent 事件,在程序集加载与移除操作时触发。 增加方法返回值的 ref 修饰的反解。增加 Natasha.CSharp.All 库,提供组件库的自动引用。
52+
53+
- 2020-10-10 : 发布 Natasha.CSharp.All v2.0.0.0,重整项目结构,分离出 C# 相关组件,修复域管理操作类对域的弱引用关系,完善周边类库。
54+
55+
- 2020-10-28 : 发布 Natasha.CSharp.All v2.0.1.1,使用初始化开关,避免多次初始化调用,支持 netcore3.1 Runtime 版本。
56+
57+
- 2020-11-14 : 发布 Natasha.CSharp.All v2.0.2.1,支持 .NET5 ,初始化函数增加参数,false 代表不初始化默认域的引用,此时引用需要在域中手动添加。
58+
59+
- 2020-11-20 : 发布 Natasha.CSharp.All v2.0.2.2,支持 .NET5 / C# 9 ;增加 NRecord 构建模板;增加 RecordProperty<T>(name) 只读包装属性,增加 OOP 模板 Property 构建是关于 init 类型的 API; 增加支持 fixed 修饰符;.NET5 版本 增加 SkipInit 方法跳过初始化,即 SkipLocalsInit 特性(注解),可用在存储结构构建以及方法上;修复日志输出格式。
60+
61+
- 2020-11-24 : 发布 Natasha.CSharp.All v2.0.2.3,修复禁断警告功能,升级周边类库依赖。
62+
63+
<br/>
64+
<br/>
65+
66+
### 生态周边
67+
| 项目名称 | 项目地址 | 项目简介 |
68+
|------------- |-----------| --------|
69+
| NatashaPad | [Github](https://github.com/night-moon-studio/NatashaPad) | 由 Roslyn 和 Natasha 支持的另一种dotnet调试工具,如 LinqPad 和 dotnet fiddle。 |
70+
| Leo | [Github](https://github.com/night-moon-studio/NCaller) | 基于 Natasha 和 查找树算法的高速反射类,可以操作对象的属性以及字段。 |
71+
| DeepClone | [Github](https://github.com/night-moon-studio/DeepClone) | 由 Natasha 的高性能深度克隆库。 |
72+
| BTFindTreee | [Github](https:https://github.com/dotnet-lab/BTFindTreee) | 快速查找算法的构建,包括哈希二分查找,字串模糊查找,字串归并精确查找。 |
73+
| Papper | [Github](https:https://github.com/dotnet-lab/Papper) | 对语法树解析库,主要目标时服务于 SG(Source Generator)技术。 |
74+
| RuntimeToDynamic | [Github](https://github.com/night-moon-studio/RuntimeToDynamic) | 将运行时数据压入到动态代理类中,以方便其他动态构建时对其进行复用。|
75+
| DynamicDictionary | [Github](https://github.com/night-moon-studio/DynamicCache) | 高速动态缓存,在只读并发场景中提供超高性能的数据查找功能。|
76+
| Aries | [Github](https://github.com/night-moon-studio/Aries) | 对 FreeSql 的高度封装,提供高性能、直观的 外联 / 乐观锁 / CURD 操作。|
77+
78+
<br/>
79+
<br/>
80+
81+
### 开发计划
82+
#### 2.0+ 计划
83+
84+
- [ ] 编写英文文档,以后将以英文文档为主
85+
- [x] 调研 .NET6 中性能优化的新特性
86+
- [ ] 完善 UT 测试
87+
- [ ] 挣钱, 生存下来
88+
89+
#### 周边项目计划
90+
91+
- [ ] BTF 算法
92+
- [ ] 每周定时跑算法随机测试程序
93+
- [x] 持续评估 `span` 序列比较方法 及 指针转换比较 的性能
94+
- [ ] 评估 Trie 及变种 与 BTF 算法的性能差距
95+
- [ ] 元数据
96+
- [ ] 优化性能
97+
- [x] 精确解析
98+
- [x] 持续评估封装架构的设计方案
99+
- [ ] 改造 [Leo](https://github.com/night-moon-studio/Leo)
100+
- [x] 持续优化性能
101+
- [x] 私有支持
102+
- [ ] 评估是否支持 AOP
103+
- [x] 评估 [Leo](https://github.com/night-moon-studio/Leo) 代理方式 和 [DynmaicDictionary](https://github.com/night-moon-studio/DynmaicDictionary) 代理方式 在 R2D 模板下的异同及抽象
104+
- [x] 优化静态自动机代码
105+
- [x] 使用委托指针优化性能
106+
107+
- [ ] 依赖还原库
108+
- [ ] NET 模块
109+
- [ ] NUGET 模块
110+
- [ ] FOLDER SCAN 模块
111+
- [ ] 跨平台 模块
112+
113+
- [ ] 定制语法/语法糖 to Natasha
114+
- [ ] 持续评估 Natasha 在灵活授权模型上的应用
115+
- [ ] 持续搜集反编译的需求
116+
- [ ] 调研 JAVA to C#
117+
- [ ] 调研 GO to C#
118+
- [ ] 考虑要不要调研 PHP to C#
119+
- [ ] 谁能来帮我一起搞,帮我点上左边的小对号?
120+
121+
> 欢迎大家提交PR
122+
123+
<br/>
124+
<br/>
125+
126+
### 性能测试
127+
128+
- [x] **动态初始化性能测试(对照组: emit, origin)**
129+
![初始化性能测试](https://images.gitee.com/uploads/images/2020/1201/161738_b54dd1ad_1478282.png)
130+
- [x] **内存及CPU监测截图**
131+
![内存及CPU](https://images.gitee.com/uploads/images/2020/1201/161450_96e70709_1478282.png)
132+
133+
<br/>
134+
<br/>
135+
136+
### 赞助:
137+
138+
<img width=200 height=200 src="https://images.gitee.com/uploads/images/2020/1201/163955_a29c0b44_1478282.png" title="Scan and donate"/><img width=200 height=200 src="https://images.gitee.com/uploads/images/2020/1201/164809_5a67d5e2_1478282.png" title="Scan and donate"/>
139+
140+
141+
#### 捐助明细
142+
143+
- ****天下 10元
144+
- **航 5元
145+
146+
<br/>
147+
148+
---------------------
149+
150+
151+
## License
152+
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fdotnetcore%2FNatasha.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fdotnetcore%2FNatasha?ref=badge_large)
153+
154+
155+
156+

Diff for: renovate.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"extends": [
3+
"config:base"
4+
]
5+
}

Diff for: samples/PluginSample/PluginA/PA.cs

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using PluginBase;
2+
3+
namespace PluginA
4+
{
5+
public class PluginA : IPluginBase
6+
{
7+
public void ShowVersion()
8+
{
9+
Console.WriteLine("PluginA :" + typeof(Dapper.DefaultTypeMap).Assembly.GetName().Version);
10+
}
11+
}
12+
}

Diff for: samples/PluginSample/PluginA/PluginA.csproj

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net6.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
<EnableDynamicLoading>true</EnableDynamicLoading>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<PackageReference Include="Dapper" Version="2.0.123" />
12+
</ItemGroup>
13+
14+
<ItemGroup>
15+
<ProjectReference Include="..\PluginBase\PluginBase.csproj" />
16+
</ItemGroup>
17+
18+
</Project>

Diff for: samples/PluginSample/PluginB/PB.cs

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using PluginBase;
2+
3+
namespace PluginB
4+
{
5+
public class PluginB : IPluginBase
6+
{
7+
public void ShowVersion()
8+
{
9+
Console.WriteLine("PluginB :" + typeof(Dapper.DefaultTypeMap).Assembly.GetName().Version);
10+
}
11+
}
12+
}

Diff for: samples/PluginSample/PluginB/PluginB.csproj

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net6.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
<EnableDynamicLoading>true</EnableDynamicLoading>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<PackageReference Include="Dapper" Version="1.60.6" />
12+
</ItemGroup>
13+
14+
<ItemGroup>
15+
<ProjectReference Include="..\PluginBase\PluginBase.csproj" />
16+
</ItemGroup>
17+
18+
</Project>

Diff for: samples/PluginSample/PluginBase/PluginBase.cs

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace PluginBase
2+
{
3+
public interface IPluginBase
4+
{
5+
public void ShowVersion();
6+
}
7+
}

Diff for: samples/PluginSample/PluginBase/PluginBase.csproj

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net6.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
</PropertyGroup>
8+
9+
</Project>
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net6.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<PackageReference Include="Dapper" Version="1.60.0" />
12+
</ItemGroup>
13+
14+
<ItemGroup>
15+
<ProjectReference Include="..\..\..\src\Natasha.Domain\Natasha.Domain.csproj" />
16+
<ProjectReference Include="..\PluginBase\PluginBase.csproj" />
17+
</ItemGroup>
18+
19+
</Project>

0 commit comments

Comments
 (0)