216 lines
12 KiB
XML
216 lines
12 KiB
XML
<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=""$(InnoSetupCompiler)" /dAppVersion="$(AssemblyVersion)" /Q "$(InnoScriptPath)"" />
|
||
|
||
<Message Text="[InnoSetup] 打包完成!" Importance="high" />
|
||
<Message Text="------------------------------------------------" Importance="high" />
|
||
</Target>
|
||
|
||
<Import Project="..\ShrlAlgoToolkit.RevitCore\ShrlAlgoToolkit.RevitCore.projitems" Label="Shared" />
|
||
</Project> |