Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ';dotnet运行';不将文件复制到输出目录_C#_.net_.net Core - Fatal编程技术网

C# ';dotnet运行';不将文件复制到输出目录

C# ';dotnet运行';不将文件复制到输出目录,c#,.net,.net-core,C#,.net,.net Core,我正在尝试测试在一个应用程序中为Windows和macOS提供两个动态链接库的能力,以便它可以选择DLLImport所需的链接库。我正在Azure管道上进行测试,该管道具有以下任务: 所以dll和dylib首先从单独的管道工件下载,然后我用 dotnet new console -n ConsoleApp dotnet run --project ConsoleApp/ConsoleApp.csproj 然后复制dll和动态库文件: Copy-Item test.dylib -Destin

我正在尝试测试在一个应用程序中为Windows和macOS提供两个动态链接库的能力,以便它可以选择
DLLImport
所需的链接库。我正在Azure管道上进行测试,该管道具有以下任务:

所以dll和dylib首先从单独的管道工件下载,然后我用

dotnet new console -n ConsoleApp
dotnet run --project ConsoleApp/ConsoleApp.csproj
然后复制dll和动态库文件:

Copy-Item test.dylib -Destination ConsoleApp
Copy-Item test.dll -Destination ConsoleApp
然后为csproj设置内容:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <None Update="test.dll">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Update="test.dylib">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>

</Project>
最后,使用

dotnet new console -n ConsoleApp
dotnet run --project ConsoleApp/ConsoleApp.csproj
并获取一个错误:

Unhandled exception. System.DllNotFoundException: Unable to load DLL 'test' or one of its dependencies: Access is denied. (0x80070005 (E_ACCESSDENIED))
   at ConsoleNetFramework.Program.Foo()
   at ConsoleNetFramework.Program.Main(String[] args) in D:\a\1\s\ConsoleApp\Program.cs:line 15
当上一个任务运行时,我们可以看到dll和dylib没有复制到输出目录:

----                -------------         ------ ----                                                                  
-a----        5/12/2021  12:28 PM           5120 ConsoleApp.dll                                                        


    Directory: D:\a\1\s\ConsoleApp\bin\Debug\net5.0


Mode                LastWriteTime         Length Name                                                                  
----                -------------         ------ ----                                                                  
-a----        5/12/2021  12:28 PM           4608 ConsoleApp.dll                                                        


    Directory: D:\a\1\s\ConsoleApp\obj\Debug\net5.0\ref


Mode                LastWriteTime         Length Name                                                                  
----                -------------         ------ ----                                                                  
-a----        5/12/2021  12:28 PM           5120 ConsoleApp.dll                                                        


    Directory: D:\a\1\s\ConsoleApp\obj\Debug\net5.0


Mode                LastWriteTime         Length Name                                                                  
----                -------------         ------ ----                                                                  
-a----        5/12/2021  12:28 PM           4608 ConsoleApp.dll                                                        


    Directory: D:\a\1\s\ConsoleApp


Mode                LastWriteTime         Length Name                                                                  
----                -------------         ------ ----                                                                  
d-----        5/12/2021  12:27 PM                test.dll                                                              
d-----        5/12/2021  12:27 PM                test.dylib
所以我不知道为什么文件没有复制到输出,因为我有

<CopyToOutputDirectory>Always</CopyToOutputDirectory>
始终
在csproj中查找这些文件


在我的本地机器上,所有这些步骤都运行良好。我做错了什么?

据我所知,Azure管道总是在admin下运行任务。