1. Кажется, вы просто пытаетесь скопировать что-то в OutDir после сборки.
<Target Name="ForcingUnsafeSpecificVersion" AfterTargets="AfterBuild">
<Copy SourceFiles="Path\System.Runtime.CompilerServices.Unsafe.dll" DestinationFolder="$(OutDir)" />
</Target>
Эта задача всегда должна работать, если вам просто нужно скопировать один файл, если нет, возможно, это может бытьчто-то о доступе. Вы можете добавить в команду опции OverwriteReadOnlyFiles
, чтобы проверить, помогает ли это:
<Target Name="ForcingUnsafeSpecificVersion" AfterTargets="AfterBuild">
<Copy SourceFiles="Path\System.Runtime.CompilerServices.Unsafe.dll" DestinationFolder="$(OutDir)" OverwriteReadOnlyFiles="true"/>
</Target>
2.Если это не помогло, измените msbuild verbosity на Detailed
и проверьтеподробный журнал в окне вывода:
По этому журналу можно выяснить, что произошло в этом процессе.
3. Также, вы можете попробовать, если вы можете скопировать одну сборку в целевой путь с помощью copy or xcopy command in cmd.exe
, если он работает, то вы также можете рассмотреть возможность использования Exec Task , чтобы сделать то, что вы хотите.
4Если все вышеперечисленное не помогает, пожалуйста, поделитесь более подробной информацией о типе вашего проекта и подробностях о содержании rpoject (пакеты nuget ...). Я думаю, если есть какое-то недопонимание относительно $(OutDir)
, возможно, вы пытаетесь скопировать его в папку publish/deploy
вместо обычной выходной папки (bin \ Debug \ netcoreappx.x ...).