Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/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# 对ubuntu 18.04服务器上路径的访问被拒绝_C#_Linux_Ubuntu_Server_Discord.net - Fatal编程技术网

C# 对ubuntu 18.04服务器上路径的访问被拒绝

C# 对ubuntu 18.04服务器上路径的访问被拒绝,c#,linux,ubuntu,server,discord.net,C#,Linux,Ubuntu,Server,Discord.net,我和我的朋友想做一个discord服务器。我用c#制作了这个机器人,需要一些东西来承载它,这样它就可以全天候运行,我选择了Digitalocean。我创建了一个Ubuntu18.04 droplet,在上面安装了DotnetSDK,并克隆了我的github bot repo(我知道这不是最好的解决方案)。但是,当我尝试运行dotnet时,出现了“路径“”的访问被拒绝”错误。当我在ubuntu 16.04上使用docker进行尝试时,我也遇到了同样的错误。有人能帮我解决这个问题吗?(在window

我和我的朋友想做一个discord服务器。我用c#制作了这个机器人,需要一些东西来承载它,这样它就可以全天候运行,我选择了Digitalocean。我创建了一个Ubuntu18.04 droplet,在上面安装了DotnetSDK,并克隆了我的github bot repo(我知道这不是最好的解决方案)。但是,当我尝试运行
dotnet
时,出现了“路径“”的访问被拒绝”错误。当我在ubuntu 16.04上使用docker进行尝试时,我也遇到了同样的错误。有人能帮我解决这个问题吗?(在windows 10上运行良好)

Dockerfile:

FROM microsoft/dotnet:2.1-sdk
WORKDIR /app

# copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# copy and build everything else
COPY . ./
RUN dotnet publish -c Release -o out
ENTRYPOINT ["dotnet", "out/Bot.dll"]
错误:

Unhandled Exception: System.UnauthorizedAccessException: Access to the path '/app/out' is denied. ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
   at Bot.Program.MainAsync() in /app/Program.cs:line 38
   at Bot.Program.Main(String[] args) in /app/Program.cs:line 16

chmod-x和chmod-R 777不起作用

您必须为ubuntu发布一个版本,使用
chmod-R 777 PATHTOPUBLISHFOLDER
授予执行权限,然后使用发布文件夹中不带扩展名的文件的
路径运行它

它存储在什么路径中?具体引发错误的是什么,是程序正在寻找路径,还是
dotnet run
命令失败?您需要执行
chmod+x文件,该文件需要访问
,才能授予其执行权限。至少我有这个问题。