Files
ShrlAlgoToolkit/ShrlAlgoToolkit.RevitAddins/ShrlAlgoToolkit.RevitAddins.csproj
2026-03-01 10:42:42 +08:00

216 lines
12 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<LangVersion>preview</LangVersion>
<Configurations>Debug;Release</Configurations>
<AccelerateBuildsInVisualStudio>True</AccelerateBuildsInVisualStudio>
<!-- 添加默认的五个命名空间 -->
<ImplicitUsings>enable</ImplicitUsings>
<!-- 生成多语言的问题 -->
<!--<SatelliteResourceLanguages>en-US</SatelliteResourceLanguages>-->
<GenerateAssemblyInfo>True</GenerateAssemblyInfo>
<!--netcore框架指定目标运行时-->
<!--<RuntimeIdentifier>win-x64</RuntimeIdentifier>-->
<UseWPF>True</UseWPF>
<PackageId>ShrlAlgoToolkit.RevitAddins</PackageId>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<ProductVersion>$(AssemblyVersion)</ProductVersion>
<FileVersion>$(AssemblyVersion)</FileVersion>
<!--<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>AnyCPU</Platforms>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
<!-- 定义方便的符号在代码中使用以适应不同的Revit版本例如用#if REVIT2014 | REVIT2015 来包装传统/废弃的API调用。-->
<DefineConstants>REVIT$(RevitVersion);$(DefineConstants)</DefineConstants>
<!-- 通过同时构建多个目标会导致obj文件夹被锁定 -->
<BuildInParallel>false</BuildInParallel>
<!-- 'OutputPath'不添加运行时和框架的文件夹 -->
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
</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>
<!-- <PropertyGroup Condition="$(Configuration.Contains('Release'))">
<Obfuscate>true</Obfuscate>
<ConfuserReplaceOutput>true</ConfuserReplaceOutput>
<ConfuserProject>$(MSBuildProjectDirectory)\$(MSBuildProjectName).crproj</ConfuserProject>
<ConfuserKeyFile>$(AssemblyOriginatorKeyFile)</ConfuserKeyFile>
<ConfuserIntermediateOutputPath>$(IntermediateOutputPath)</ConfuserIntermediateOutputPath>
<ConfuserOutDir>$(OutDir)</ConfuserOutDir>
<ConfuserSymbolFileName>symbols.map</ConfuserSymbolFileName>
</PropertyGroup>-->
<PropertyGroup>
<InnoSetupCompiler>C:\Program Files (x86)\Inno Setup 6\ISCC.exe</InnoSetupCompiler>
<InnoScriptPath>$(MSBuildProjectDirectory)\$(MSBuildProjectName).iss</InnoScriptPath>
<!--最后编译的框架后打包-->
<PackagerTriggerFramework>net481</PackagerTriggerFramework>
</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="System.Net.Http">
<HintPath>C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Http.dll</HintPath>
</Reference>
<!-- <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" />
<!-- <PackageReference Include="Confuser.MSBuild" Version="1.6.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>-->
<PackageReference Include="ACadSharp" Version="3.4.9" />
<PackageReference Include="FuzzySharp" Version="2.0.2" />
<PackageReference Include="HtmlAgilityPack" Version="1.12.4" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="5.0.0" />
<!--TreatAsUsed="true"标记为已使用-->
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.135" TreatAsUsed="True" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
<!--<PackageReference Include="Nice3point.Revit.Extensions" Version="2020.3.0" />-->
<PackageReference Include="Nice3point.Revit.Toolkit" Version="2020.*" />
<PackageReference Include="MiniExcel" Version="1.42.0" />
</ItemGroup>
<ItemGroup>
<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.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="Nice3point.Revit.Api.AdWindows" Version="$(RevitVersion).*" PrivateAssets="All" />
<!-- <PackageReference Include="Nice3point.Revit.Toolkit" Version="2019.*" Condition=" '$(RevitVersion)' == '2018' " />
<PackageReference Include="Nice3point.Revit.Toolkit" Version="2020.*" Condition=" '$(RevitVersion)' == '2020' " />-->
<!--<PackageReference Include="Nice3point.Revit.Toolkit" Version="2025.*" Condition=" '$(RevitVersion)' == '2025' " />-->
</ItemGroup>
<ItemGroup>
<!-- 通过MSBuild处理插件清单 -->
<EmbeddedResource Include="Resources\**\*.*">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</EmbeddedResource>
<Content Include="Properties\launchSettings.json">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</Content>
<Content Include="Libraries\**\**\*.rfa">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="PackageContents.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>..\..\ShrlAlgoToolkit.RevitAddins.bundle\PackageContents.xml</Link>
</Content>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Melskin\Melskin.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Update="Common\Controls\ProgressWindow.xaml.cs">
<SubType>Code</SubType>
</Compile>
<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>
<NeutralLanguage>en</NeutralLanguage>
<UserSecretsId>c6f7036c-6a5d-453e-9f5e-3089ea23d222</UserSecretsId>
<AnalysisLevel>latest</AnalysisLevel>
</PropertyGroup>-->
<!-- <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="AfterBuild" 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>
<Target Name="InnoSetupPackage" AfterTargets="Build" Condition="'$(Configuration)' == 'Release' AND '$(TargetFramework)' == '$(PackagerTriggerFramework)'">
<Message Text="------------------------------------------------" Importance="high" />
<Message Text="[InnoSetup] 所有框架编译完成,开始执行最终打包..." Importance="high" />
<Message Text="[InnoSetup] 触发框架: $(TargetFramework)" Importance="high" />
<Warning Text="未找到 Inno Setup 编译器,跳过打包。" Condition="!Exists($(InnoSetupCompiler))" />
<Exec Command="&quot;$(InnoSetupCompiler)&quot; /dAppVersion=&quot;$(AssemblyVersion)&quot; /Q &quot;$(InnoScriptPath)&quot;" />
<Message Text="[InnoSetup] 打包完成!" Importance="high" />
<Message Text="------------------------------------------------" Importance="high" />
</Target>
<Import Project="..\ShrlAlgoToolkit.RevitCore\ShrlAlgoToolkit.RevitCore.projitems" Label="Shared" />
</Project>