Я довольно новый программист на C #, и я столкнулся с ошибкой, не поддающейся моей способности исправить.
В настоящее время я работаю над написанием диска с несогласными, и при попытке создать экземпляр и Program
объект, он возвращает «Ошибка доступа запрещена».Проблема заключается в том, что ошибка относится к папке, а не к файлу, и я попытался исправить ее.
- Запуск Visual Studio от имени администратора
- Обеспечение моейучетная запись имеет права доступа к файлам и папкам
- Изменение расположения файлов проекта
- Перезапуск Visual Studio
- Перекодирование проекта с чистого листа
- Обеспечение того, чтобы папка и файлы не были доступны только для чтения
В этой строке выдается ошибка: => new Program().MainAsync().GetAwaiter().GetResult();
На данный момент у меня практически нет идей.Полная информация о сообщении об исключении:
System.UnauthorizedAccessException HResult = 0x80070005 Сообщение = Доступ к пути 'C: \ Users \ XXX \ source \ repos \ discordBot \ discordBot \ bin \Отладка запрещена.Source = mscorlib StackTrace: в System.IO .__ Error.WinIOError (Int32 errorCode, String MaybeFullPath) в System.IO.FileStream.Init (String path, FileMode mode, доступ к FileAccess, права Int32, логические useRights, общий ресурс FileShare, Int32 bufferSize,Параметры FileOptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, логическое bFromProxy, логическое значение useLongPath, логическое checkHost) в System.IO.FileStream..ctor (путь строки, режим FileMode, доступ к FileAccess) в train_bot.Program.d__3.MoveNext (\ Users \ XXX \ source \ repos \ discordBot \ discordBot \ Program.cs: строка 46 в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача-задача) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAnd-задача-отладчик).Runtime.CompilerServices.TaskAwaiter.GetResult () в train_bot.Program.Main (String [] args) в C: \ Users \ XXX \ source \ repos \ discordBot \ discordBot \ Program.cs: строка 21
Менее подробная версия
System.UnauthorizedAccessException: 'Доступ к пути 'C: \ Users \ SettingAdmin \ source \ repos \ discordBot \ discordBot \ bin \ Debug' запрещен. '
using System;
using System.IO;
using System.Reflection;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Discord;
using Discord.Commands;
using Discord.WebSocket;
namespace train_bot
{
class Program
{
private DiscordSocketClient Client;
private CommandService Commands;
static void Main(string[] args)
=> new Program().MainAsync().GetAwaiter().GetResult();
private async Task MainAsync()
{
//configuring client
Client = new DiscordSocketClient(new DiscordSocketConfig
{
LogLevel = LogSeverity.Debug //changes detail in log
});
Commands = new CommandService(new CommandServiceConfig
{
CaseSensitiveCommands = true,
DefaultRunMode = RunMode.Async,
LogLevel = LogSeverity.Debug
});
Client.MessageReceived += Client_MessageReceived;
await Commands.AddModulesAsync(Assembly.GetEntryAssembly());
Client.Ready += Client_Ready;
Client.Log += Client_Log;
string Token = "";
using (var Steam = new FileStream(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location).Replace(@"bin\Debug\netcoreapp2.0", @"Token.txt"), FileMode.Open, FileAccess.Read))using (var ReadToken = new StreamReader(Steam))
{
Token = ReadToken.ReadToEnd();
}
await Client.LoginAsync(TokenType.Bot, Token);
await Client.StartAsync();
await Task.Delay(-1);
}
private async Task Client_Log(LogMessage Message)
{
Console.WriteLine($"{DateTime.Now} at {Message.Source}] {Message.Message}");
}
private async Task Client_Ready()
{
await Client.SetGameAsync("Hentai King 2018", "", StreamType.NotStreaming);
}
private async Task Client_MessageReceived(SocketMessage arg)
{
//Configure the commands
}
}
}