-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDiffSingerForTuneLab.csproj
More file actions
66 lines (60 loc) · 4.15 KB
/
Copy pathDiffSingerForTuneLab.csproj
File metadata and controls
66 lines (60 loc) · 4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<Project Sdk="Microsoft.NET.Sdk">
<!-- DiffSinger voice 插件。
引用宿主提供的 SDK 契约程序集(Private=false,不打进包);net8.0 锁 SDK ABI 地板。
开发期用跨仓 ProjectReference 指向并排的 TuneLab 源(跳定义/即改即生效);
临发布可改为对编译出的 SDK dll 的 <Reference>,验证脱离源码也能编。 -->
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RootNamespace>DiffSingerForTuneLab</RootNamespace>
<AssemblyName>DiffSingerForTuneLab</AssemblyName>
<!-- 插件作为动态加载的程序集:令 NuGet 私有依赖随输出复制进包目录(宿主 ALC 从包目录加载,
不会从本机 NuGet 缓存解析),并生成适配动态加载的 deps.json。Private=false 的 SDK 引用不受影响、仍不复制。 -->
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<!-- tools/ 是 dev-only 独立项目(冒烟测试)、MLRuntime/ 是随包分发的独立 exe(自有 csproj/入口);
从插件编译中排除,否则 SDK 默认 glob 会连其源码与 obj 生成文件一起编进插件(重复入口/特性)。
注:MLRuntime 与插件共享的 TensorCodec/RuntimeProtocol/RuntimeHost/PipeFraming 住在仓库根、仍编进插件;
MLRuntime/ 下只有 Program.cs,经链接引用根部共享核。 -->
<ItemGroup>
<Compile Remove="tools/**/*.cs" />
<Content Remove="tools/**" />
<None Remove="tools/**" />
<Compile Remove="MLRuntime/**/*.cs" />
<Content Remove="MLRuntime/**" />
<None Remove="MLRuntime/**" />
</ItemGroup>
<!-- SDK 契约:宿主统一提供、所有插件共享,Private=false 不复制进输出、打包时别带。 -->
<ItemGroup>
<ProjectReference Include="..\TuneLab\TuneLab.Foundation\TuneLab.Foundation.csproj" Private="false" />
<ProjectReference Include="..\TuneLab\TuneLab.SDK\TuneLab.SDK.csproj" Private="false" />
</ItemGroup>
<!-- manifest 随输出,宿主据此免反射即知插件提供什么。 -->
<ItemGroup>
<Content Include="manifest.json" CopyToOutputDirectory="PreserveNewest" />
<!-- 移植/捆绑第三方(OpenUtau MIT)的署名,随包分发。 -->
<Content Include="THIRD-PARTY-NOTICES.md" CopyToOutputDirectory="PreserveNewest" />
<!-- 包级 README 详情页:宿主在扩展详情窗渲染包根的 README.md(README.<culture>.md 优先)。
基准 = 英文(README.md,覆盖所有非精确命中语言);中文经 README.zh-CN.md 精确命中。
源文件放 packaging/(与开发向的仓库根 README.md 区分),经 Link 改名落到输出根 = 包根。 -->
<Content Include="packaging\README.md" Link="README.md" CopyToOutputDirectory="PreserveNewest" />
<Content Include="packaging\README.zh-CN.md" Link="README.zh-CN.md" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
<!-- G2P 算法引擎的语言包(移植自 OpenUtau,MIT;各含 dict.txt + phones.txt + g2p.onnx)。
嵌入插件程序集,运行时经 G2pPack.LoadEmbeddedPack 按 LogicalName 读取。 -->
<ItemGroup>
<EmbeddedResource Include="G2p\Data\g2p-arpabet-plus.zip" LogicalName="DiffSingerForTuneLab.G2p.Data.g2p-arpabet-plus.zip" />
<EmbeddedResource Include="G2p\Data\g2p-ko.zip" LogicalName="DiffSingerForTuneLab.G2p.Data.g2p-ko.zip" />
</ItemGroup>
<!-- 私有依赖:随包分发、进本插件专属 ALC。
· YamlDotNet 解析声库的 dsconfig / character / dsdict。
· OnnxRuntime.DirectML 单包内的 onnxruntime.dll 同含 DirectML EP 与 CPU EP;原生库随 EnableDynamicLoading
输出到 runtimes/win-x64/native/,宿主 ALC 经 deps.json(AssemblyDependencyResolver)解析——勿扁平化。 -->
<ItemGroup>
<PackageReference Include="YamlDotNet" Version="18.0.0" />
<PackageReference Include="Microsoft.ML.OnnxRuntime.DirectML" Version="1.20.1" />
<!-- 张量缓存键哈希:XxHash64(模型文件内容哈希 + 序列化输入)。 -->
<PackageReference Include="System.IO.Hashing" Version="8.0.0" />
</ItemGroup>
</Project>