Plugins.Script.csproj 1.7 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <Project Sdk="Microsoft.NET.Sdk">
  2. <PropertyGroup>
  3. <TargetFramework>net48</TargetFramework>
  4. <UseWPF>true</UseWPF>
  5. <Platforms>x64</Platforms>
  6. <PlatformTarget>x64</PlatformTarget>
  7. <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  8. <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
  9. <RootNamespace>Plugins.Script</RootNamespace>
  10. <AssemblyName>Plugins.Script</AssemblyName>
  11. </PropertyGroup>
  12. <ItemGroup>
  13. <!-- CodeForge:C# 代码编辑器控件 + Roslyn 编译/运行引擎(单文件分发,依赖已内嵌) -->
  14. <PackageReference Include="CodeForge" Version="1.1.0" />
  15. </ItemGroup>
  16. <ItemGroup>
  17. <ProjectReference Include="..\..\TeamAAS.Core\TeamAAS.Core\TeamAAS.Core.csproj" />
  18. </ItemGroup>
  19. <!-- 构建后把插件 DLL 与其 CodeForge 依赖一起拷到运行目录 Plugins\(随后主程序 PostBuild 归入 Runtime\Plugins\)。
  20. CodeForge 是单文件分发(Roslyn/AvalonEdit/HandyControl 等已内嵌),只需部署这一个 DLL;
  21. 运行时 HandyControl 由 Runtime\ 下同版本(3.5.1)物理 DLL 统一提供,不会重复加载。 -->
  22. <Target Name="CopyPluginDll" AfterTargets="Build" Condition="'$(Configuration)'=='Debug' Or '$(Configuration)'=='Release'">
  23. <PropertyGroup>
  24. <PluginDir>$(MSBuildThisFileDirectory)..\..\EXE\win-x64\Plugins\</PluginDir>
  25. </PropertyGroup>
  26. <MakeDir Directories="$(PluginDir)" Condition="!Exists('$(PluginDir)')" />
  27. <Copy SourceFiles="$(TargetPath)" DestinationFolder="$(PluginDir)" SkipUnchangedFiles="true" />
  28. <Copy SourceFiles="$(TargetDir)CodeForge.dll" DestinationFolder="$(PluginDir)" SkipUnchangedFiles="true" Condition="Exists('$(TargetDir)CodeForge.dll')" />
  29. </Target>
  30. </Project>