c # Доступ к пути запрещен на сервере Ubuntu 18.04

Мы с другом хотели сделать дискорд сервер. Я сделал бота на С#, и мне нужно было что-то для его размещения, чтобы он мог работать 24/7, я выбрал Digitalocean. Я создал дроплет ubuntu 18.04, установил на него dotnet sdk и клонировал свой репозиторий бота на github (я знаю, что это не лучшее решение). Но когда я попытался сделать dotnet run, я получил ошибку «Доступ к пути путь ' ' запрещен. Я получил ту же ошибку, когда попробовал использовать докер на Ubuntu 16.04. Может ли кто-нибудь помочь мне с этой проблемой? (на виндовс 10 работало нормально)

Докерфайл:

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 не работали


person magiccheese    schedule 28.11.2018    source источник
comment
По какому пути он хранится? Что конкретно выдает ошибку, программа ищет путь или команда dotnet run не работает?   -  person Frontear    schedule 28.11.2018
comment
Вам нужно сделать chmod +x FILETHATNEEDSACCESSTO, чтобы дать ему права на выполнение. По крайней мере, у меня была эта проблема.   -  person Twenty    schedule 29.11.2018


Ответы (1)


Вы должны опубликовать выпуск для Ubuntu, дать разрешение на выполнение с помощью chmod -R 777 PATHTOPUBLISHFOLDER, а затем запустить его с помощью path to the file without extension in the publish folder.

person magiccheese    schedule 02.12.2018