.net CopyToOutputDirectory将dll文件复制到bin而不是根目录

6uxekuva  于 2022-11-26  发布在  .NET
关注(0)|答案(1)|浏览(362)

我正在为一个.net核心项目设置部署。在发布步骤中,需要将一些文件复制到输出文件夹,我正在使用CopyToOutputDirectory来完成此操作。

<None Update="SomeFolder\*.*">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

文件夹中除了dll文件之外的所有文件都被复制到正确的位置,而dll文件则被复制到bin +任何默认路径。有没有办法改变这种行为?

Example:
Original structure
root
-SomeFolder
--file1.exe
--file2.dll

Output structure
root
-SomeFolder
--file1.exe
-bin
--Somefolder
---file2.dll
0x6upsns

0x6upsns1#

CopyToOutputDirectory是由“build”使用的元数据,而不是“publish”。
对于项目文件中列出的源文件,CopyToOutputDirectory元数据指示应将该文件复制到目标输出目录(例如“bin\Debug\net6.0”)。对于类库项目,项目的目标输出是DLL,而DLL不是源文件。
您可以使用发布配置文件定制发布-有关详细信息,请参阅“dotnet publish command“和“Visual Studio publish profiles (.pubxml) for ASP.NET Core app deployment“。

相关问题