xamarin 将从其他项目生成的所有dll文件复制到资源

l5tcr1uw  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(140)

我想让从其他项目构建的dll文件成为Xamarin Android项目中的资产文件。
例如,我有一个项目,它是一个Xamarin Android项目。
而且我有B和C项目,它们将被构建并生成dll文件。
B和C完成他们的构建过程后,我希望他们的dll文件被复制到“A”项目的assets文件夹中,并将这些dll文件作为android资产。
有没有办法达到这个要求?谢谢!

hzbexzde

hzbexzde1#

我找到解决办法了。
对于B和C项目,应在构建后事件中添加,如:

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
    <Exec Command="xcopy /q /y &quot;$(TargetDir)$(AssemblyName).dll&quot; &quot;$(SolutionDir)\A\Assets&quot;" />
</Target>

并且还需要在PropertyGroup中添加<DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
然后在B和C完成他们的建设,他们的dll文件将被复制到资产文件夹的A。
在A项目中,还应添加构建后事件和资产文件夹的设置。

<ItemGroup>
  <!-- I use Avalonia here. Change to AndroidAsset in Maui or Xamarin-->
  <AvaloniaResource Include="Assets\**" />
</ItemGroup>
.
.
.
<Target Name="PostBuild" BeforeTargets="PostBuildEvent">
  <Exec Command="del &quot;$(ProjectDir)Assets\*.dll&quot; /q" />
</Target>

生成后事件将在生成完成后移除dll文件。

相关问题