Files
Shrlalgo.RvKits/ShrlAlgo.RvKits/ShrlAlgo.RvKits.csproj

299 lines
16 KiB
XML
Raw Normal View History

2024-09-22 11:05:41 +08:00
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<LangVersion>preview</LangVersion>
2024-09-22 11:05:41 +08:00
<Configurations>Debug;Release</Configurations>
<AccelerateBuildsInVisualStudio>True</AccelerateBuildsInVisualStudio>
<!-- 添加默认的五个命名空间 -->
<ImplicitUsings>enable</ImplicitUsings>
<!-- 生成多语言的问题 -->
2024-12-22 10:26:12 +08:00
<!--<SatelliteResourceLanguages>en-US</SatelliteResourceLanguages>-->
2024-09-22 11:05:41 +08:00
<GenerateAssemblyInfo>True</GenerateAssemblyInfo>
<!--netcore框架指定目标运行时-->
2024-12-22 10:26:12 +08:00
<!--<RuntimeIdentifier>win-x64</RuntimeIdentifier>-->
2024-09-22 11:05:41 +08:00
<UseWPF>True</UseWPF>
<!--<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>-->
</PropertyGroup>
<PropertyGroup>
<TargetFrameworks>net48;net481<!--;net8.0-windows--></TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net48' ">
<RevitVersion>2018</RevitVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net481' ">
<RevitVersion>2020</RevitVersion>
</PropertyGroup>
<!--
<PropertyGroup Condition=" '$(TargetFramework)' == 'net8.0-windows' ">
<RevitVersion>2025</RevitVersion>
</PropertyGroup>-->
<PropertyGroup>
<!-- 强行将平台设置为 "x64 "并忽略与架构有关的问题 -->
<PlatformTarget>x64</PlatformTarget>
<Platforms>x64</Platforms>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
<!-- 强制项目使用传统的调试器引擎 -->
<!--<DebugEngines>{351668CC-8477-4fbf-BFE3-5F1006E4DB1F}</DebugEngines>-->
<!-- 反转新的.csproj格式的行为-默认排除文件 -->
<!--<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<EnableDefaultItems>false</EnableDefaultItems>-->
<!-- 定义方便的符号在代码中使用以适应不同的Revit版本例如用#if REVIT2014 | REVIT2015 来包装传统/废弃的API调用。-->
<DefineConstants>REVIT$(RevitVersion);$(DefineConstants)</DefineConstants>
<!--<PreprocessorDefinitions>$(DefineConstants)</PreprocessorDefinitions>-->
<!-- 通过同时构建多个目标会导致obj文件夹被锁定 -->
<BuildInParallel>false</BuildInParallel>
<!-- 'OutputPath'不添加运行时和框架的文件夹 -->
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<!--<OutputPath>..\bin\$(Configuration)\$(RevitVersion)</OutputPath>-->
</PropertyGroup>
<!--我们可以定义我们的自定义预处理器常量来简化我们的项目代码-->
<PropertyGroup Condition="'$(RevitVersion)' != '2018' AND '$(RevitVersion)' != '2019' AND '$(RevitVersion)' != '2020'">
<DefineConstants>$(DefineConstants);USE_FORGETYPEID</DefineConstants>
<PreprocessorDefinitions>$(DefineConstants)</PreprocessorDefinitions>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.Contains('Debug'))">
<DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
<DebugType>full</DebugType>
<OutputPath>..\bin\Debug\$(RevitVersion)</OutputPath>
</PropertyGroup>
<!--不生成调试信息pdb-->
<PropertyGroup Condition="$(Configuration.Contains('Release'))">
<DefineConstants>$(DefineConstants);Release</DefineConstants>
<DebugType>None</DebugType>
<OutputPath>..\bin\Release\$(RevitVersion)</OutputPath>
</PropertyGroup>
<ItemGroup>
<!-- <Reference Include="Microsoft.CSharp" Condition="'$(RevitVersion)' == '2018' Or '$(RevitVersion)' == '2019' Or '$(RevitVersion)' == '2020'" />
<Reference Include="System.ComponentModel.DataAnnotations" Condition="'$(RevitVersion)' == '2018' Or '$(RevitVersion)' == '2019' Or '$(RevitVersion)' == '2020' " />-->
<Reference Include="eTransmitForRevitDB" HintPath="..\libs\$(RevitVersion)\eTransmitForRevitDB.dll" />
<!-- <Reference Include="RevitAPIIFC" Condition=" '$(RevitVersion)' == '2025' " HintPath="..\libs\$(RevitVersion)\RevitAPIIFC.dll" Private="False" />
<Reference Include="UIFramework" HintPath="..\libs\$(RevitVersion)\UIFramework.dll" Private="False" />
<Reference Include="UIFrameworkServices" HintPath="..\libs\$(RevitVersion)\UIFrameworkServices.dll" Private="False" />-->
</ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Common" Version="8.4.0" />
<PackageReference Include="CommunityToolkit.Diagnostics" Version="8.4.0" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
2024-09-22 11:05:41 +08:00
<PackageReference Include="EPPlus.Core.Extensions" Version="2.4.0" />
<PackageReference Include="ACadSharp" Version="1.0.8" />
2024-09-22 11:05:41 +08:00
<PackageReference Include="FuzzySharp" Version="2.0.2" />
<PackageReference Include="HtmlAgilityPack" Version="1.11.72" />
2024-09-22 11:05:41 +08:00
<!--TreatAsUsed="true"标记为已使用-->
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.135" TreatAsUsed="True" />
2024-09-22 11:05:41 +08:00
<PackageReference Include="randomColorSharped.NetStandard" Version="1.0.2" />
</ItemGroup>
<!-- <ItemGroup Condition="$(DefineConstants.Contains('WINFORMS'))"> -->
<!-- <Reference Include="System.Windows.Forms" /> -->
<!-- </ItemGroup> -->
<ItemGroup>
<!--<PackageReference Include="Autodesk.Revit.SDK" Version="$(RevitVersion).*" PrivateAssets="All" />-->
<PackageReference Include="Nice3point.Revit.Api.RevitAPI" Version="$(RevitVersion).*" PrivateAssets="All" />
<PackageReference Include="Nice3point.Revit.Api.RevitAPIUI" Version="$(RevitVersion).*" PrivateAssets="All" />
<PackageReference Include="Nice3point.Revit.Api.AdWindows" Version="$(RevitVersion).*" PrivateAssets="All" />
<PackageReference Include="Nice3point.Revit.Api.RevitAPIIFC" Version="$(RevitVersion).*" PrivateAssets="All" />
<PackageReference Include="Nice3point.Revit.Api.UIFramework" Version="$(RevitVersion).*" PrivateAssets="All" />
<PackageReference Include="Nice3point.Revit.Api.UIFrameworkServices" Version="$(RevitVersion).*" PrivateAssets="All" />
<!-- <PackageReference Include="Autodesk.Revit.SDK" Version="2020.*" Condition=" '$(RevitVersion)' == '2020' " PrivateAssets="All" />
<PackageReference Include="Autodesk.Revit.SDK" Version="2025.*" Condition=" '$(RevitVersion)' == '2025' " PrivateAssets="All" />-->
<PackageReference Include="Nice3point.Revit.Toolkit" Version="2019.*" Condition=" '$(RevitVersion)' == '2018' " />
<PackageReference Include="Nice3point.Revit.Toolkit" Version="2020.*" Condition=" '$(RevitVersion)' == '2020' " />
<PackageReference Include="ValueConverters" Version="3.1.22" />
2024-09-22 11:05:41 +08:00
<!--<PackageReference Include="Nice3point.Revit.Toolkit" Version="2025.*" Condition=" '$(RevitVersion)' == '2025' " />-->
</ItemGroup>
<!--<Target Name="PreventRevitSDKCopyLocal" AfterTargets="ResolveReferences">
<ItemGroup>
--><!-- 暂时解决Revit SDK文件被复制到输出文件夹的问题 --><!--
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.NuGetPackageId)' == 'Autodesk.Revit.SDK'" />
</ItemGroup>
</Target>-->
<ItemGroup>
<!-- 通过MSBuild处理插件清单 -->
<Content Include="Sai.RvKitsBak.addin">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</Content>
<EmbeddedResource Include="Resources\**\*.*">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</EmbeddedResource>
<Content Include="PackageContents.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Properties\launchSettings.json">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</Content>
<Content Include="Libraries\**\**\*.rfa">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Remove="Resources\adaptive_MEP_tag_16px.png" />
<EmbeddedResource Remove="Resources\adaptive_MEP_tag_32px.png" />
</ItemGroup>
2024-09-22 11:05:41 +08:00
<ItemGroup>
<None Remove="Resources\add_insulation_16px.png" />
<None Remove="Resources\add_insulation_32px.png" />
<None Remove="Resources\arrange_mep_16px.png" />
<None Remove="Resources\arrange_mep_32px.png" />
2024-09-22 11:05:41 +08:00
<None Remove="Resources\flip_workplane_16px.png" />
<None Remove="Resources\flip_workplane_32px.png" />
<None Remove="Resources\rotate_instance_16px.png" />
<None Remove="Resources\rotate_instance_32px.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\WPFluent\WPFluent.csproj" />
2024-09-22 11:05:41 +08:00
</ItemGroup>
<ItemGroup>
<Resource Include="Fonts\boxicons.ttf" />
<Resource Include="Fonts\Font Awesome 6 Brands-Regular-400.otf" />
<Resource Include="Fonts\Font Awesome 6 Free-Regular-400.otf" />
<Resource Include="Fonts\Font Awesome 6 Free-Solid-900.otf" />
<Resource Include="Fonts\Segoe Fluent Icons.ttf" />
<Resource Include="Fonts\SourceHanSansSC-Regular.otf" />
</ItemGroup>
<ItemGroup>
<Compile Update="ModelManager\SeparateModelWin.xaml.cs">
<SubType>Code</SubType>
</Compile>
2024-09-22 11:05:41 +08:00
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Update="Properties\Settings.Designer.cs">
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Update="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<PropertyGroup>
<RootNamespace>Sai.RvKits</RootNamespace>
<AssemblyName>ShrlAlgo.RvKits</AssemblyName>
2024-09-22 11:05:41 +08:00
<NeutralLanguage>en</NeutralLanguage>
<UserSecretsId>c6f7036c-6a5d-453e-9f5e-3089ea23d222</UserSecretsId>
<AnalysisLevel>latest</AnalysisLevel>
</PropertyGroup>
<!--<Target Name="CreateAddinManifest" AfterTargets="AfterBuild">
<ItemGroup>
<AddinManifest Include="$(OutputPath)\$(AssemblyName).addin" />
</ItemGroup>
<ReplaceFileText InputFilename="ShrlAlgo.RvKits.addin" OutputFilename="@(AddinManifest)" MatchExpression="VendorDescription&gt;(.*?)&lt;" ReplacementText="VendorDescription&gt;$(Authors), $(Company), $(PackageProjectUrl)&lt;" />
2024-09-22 11:05:41 +08:00
<ReplaceFileText InputFilename="@(AddinManifest)" OutputFilename="@(AddinManifest)" MatchExpression="FullClassName&gt;((.*?)\.)+" ReplacementText="FullClassName&gt;$(RootNamespace)." />
<ReplaceFileText InputFilename="@(AddinManifest)" OutputFilename="@(AddinManifest)" MatchExpression="&lt;Name&gt;(.*?)&lt;" ReplacementText="&lt;Name&gt;$(Product)&lt;" />
<ReplaceFileText InputFilename="@(AddinManifest)" OutputFilename="@(AddinManifest)" MatchExpression="&lt;VendorId&gt;(.*?)&lt;" ReplacementText="&lt;VendorId&gt;$(PackageId)&lt;" />
<ReplaceFileText Condition="'$(Configuration)' == 'Release'" InputFilename="@(AddinManifest)" OutputFilename="@(AddinManifest)" MatchExpression="Assembly&gt;(.*?)&lt;" ReplacementText="Assembly&gt;$(AssemblyName).dll&lt;" />
<ReplaceFileText Condition="$(Configuration.Contains('Debug'))" InputFilename="@(AddinManifest)" OutputFilename="@(AddinManifest)" MatchExpression="Assembly&gt;(.*?)&lt;" ReplacementText="Assembly&gt;$([System.IO.Path]::GetFullPath('$(OutputPath)'))$(AssemblyName).dll&lt;" />
</Target>-->
<!--<UsingTask Condition="'$(MSBuildRuntimeType)' == 'Full'" TaskName="ReplaceFileText" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<InputFilename ParameterType="System.String" Required="true" />
<OutputFilename ParameterType="System.String" Required="true" />
<MatchExpression ParameterType="System.String" Required="true" />
<ReplacementText ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Reference Include="System.Core" />
<Using Namespace="System" />
<Using Namespace="System.IO" />
<Using Namespace="System.Text.RegularExpressions" />
<Code Type="Fragment" Language="cs">
<![CDATA[
File.WriteAllText(OutputFilename,Regex.Replace(File.ReadAllText(InputFilename),MatchExpression,ReplacementText));
]]>
</Code>
</Task>
</UsingTask>
<UsingTask Condition="'$(MSBuildRuntimeType)' == 'CoreManifests'" TaskName="ReplaceFileText" TaskFactory="RoslynCodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
<ParameterGroup>
<InputFilename ParameterType="System.String" Required="true" />
<OutputFilename ParameterType="System.String" Required="true" />
<MatchExpression ParameterType="System.String" Required="true" />
<ReplacementText ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Using Namespace="System" />
<Using Namespace="System.IO" />
<Using Namespace="System.Text.RegularExpressions" />
<Code Type="Fragment" Language="cs">
<![CDATA[
File.WriteAllText(OutputFilename,Regex.Replace(File.ReadAllText(InputFilename),MatchExpression,ReplacementText));
]]>
</Code>
</Task>
</UsingTask>-->
<!--<Target Name="MoveAddinsTobundle" AfterTargets="AfterBuild" Condition="$(Configuration.Contains('Release'))">
-->
<!-- 将新编译的插件文件移动到AppData文件夹在启动调试器之前-->
<!--
<Message Importance="high" Text="将addin文件复制到bundle文件夹中" />
<ItemGroup>
<AddinFiles Include="$(OutputPath)\$(RevitVersion)\..\**\*.addin" />
</ItemGroup>
<Move SourceFiles="@(AddinFiles)" DestinationFolder="$(OutputPath)\..\..\ShrlAlgo.RvKits.bundle\Contents\$(RevitVersion)" OverwriteReadOnlyFiles="true" />
2024-09-22 11:05:41 +08:00
</Target>-->
<!--<Target Name="MoveXmlTobundle" AfterTargets="MoveAddinsTobundle" Condition="$(Configuration.Contains('Release'))">
-->
<!-- 将xml文件移动到bundle文件夹中在启动调试器之前-->
<!--
<Message Importance="high" Text="将xml文件移动到bundle文件夹中" />
<ItemGroup>
<XMLFile Include="$(OutputPath)\..\**\*.xml" />
</ItemGroup>
<Move SourceFiles="@(XMLFile)" DestinationFolder="$(OutputPath)\..\..\ShrlAlgo.RvKits.bundle" OverwriteReadOnlyFiles="true" />
2024-09-22 11:05:41 +08:00
</Target>-->
<Target Name="MoveXmlTobundle" AfterTargets="AfterBuild">
<!-- 将xml文件移动到bundle文件夹中在启动调试器之前-->
<Message Importance="high" Text="将xml文件移动到bundle文件夹中" />
<ItemGroup>
<XMLFile Include="$(OutputPath)\..\**\PackageContents.xml" />
</ItemGroup>
<Move SourceFiles="@(XMLFile)" DestinationFolder="$(OutputPath)\..\..\$(AssemblyName).bundle" OverwriteReadOnlyFiles="true" />
</Target>
<Target Name="MoveFamilyFiles" AfterTargets="MoveXmlTobundle" Condition="$(RevitVersion)!='2018'">
<!-- 将族文件移动到输出目录中(在启动调试器之前)。 -->
<Message Importance="high" Text="将族文件移动到输出目录对应版本的Libraries文件夹中" />
<ItemGroup>
<FilesToMove Include="..\$(AssemblyName)\Libraries\$(RevitVersion)\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(FilesToMove)" DestinationFolder="$(OutputPath)Libraries\%(RecursiveDir)" SkipUnchangedFiles="True" />
</Target>
<Import Project="..\ShrlAlgo.Toolkit.Core\ShrlAlgo.Toolkit.Core.projitems" Label="Shared" />
<Import Project="..\ShrlAlgo.Toolkit.Mvvm\ShrlAlgo.Toolkit.Mvvm.projitems" Label="Shared" />
<Import Project="..\ShrlAlgo.Toolkit.Revit\ShrlAlgo.Toolkit.Revit.projitems" Label="Shared" />
2024-09-22 11:05:41 +08:00
</Project>