Относительные пути Visual Studios

В школе перед моей группой была поставлена ​​задача продолжить разработку приложения Visual Studio. У меня не так много опыта в этом, так как я использовал Visual Basic всего несколько раз около 6 лет назад.

Одна из ошибок, которую я должен исправить, связана с сохранением изображения в папку. Когда я запускаю режим «отладки» кода, он отлично сохраняет изображение. Однако, если я публикую веб-сайт с помощью Visual Studios, страница выдает ошибку, потому что не может найти папку. Я не могу жестко закодировать каталог, я должен использовать относительный путь.

Это мой текущий код:

String path = Server.MapPath("~") + "sig/img.png"

Этот код также работает в режиме отладки, но не в режиме публикации:

String path = Server.MapPath("/") + "sig/img.png"

Когда я пытаюсь использовать System.IO.Path.GetFullPath(path) или System.IO.Path.Combine(basePath, file), он возвращает ссылку, которая начинается в ProgramFiles/MicrosoftVisualStudios/

Я не уверен, что это имеет значение, но вся работа по разработке выполняется в C:\Users\UserName\program и публикуется в C:\inetpub\wwwdocs\program.

Любая помощь приветствуется. (Одна вещь, которая может помочь, — это возможность отслеживать переменную «путь», но я не знаю, как это сделать после публикации.)


person Michael    schedule 31.01.2013    source источник
comment
Вы можете отобразить путь на странице, которую вы пытаетесь отлаживать. Вы уверены, что это не проблема с разрешениями? ошибки страницы, потому что она не может найти папку, не лучшее описание того, что, вероятно, является несколько более конкретным сообщением об ошибке.   -  person spender    schedule 31.01.2013
comment
Согласен с первым комментатором. Покажите путь (распечатайте его на этикетке и т. д.) на экране, чтобы увидеть, с чем вы имеете дело. Это поможет для отладки.   -  person WLin    schedule 31.01.2013
comment
Ладно, ребята, извините. Вы правы. Это проблема с разрешениями. Я получил его на полпути, работая, когда он из сети, но как только я перехожу на удаленный режим, он умирает, а это дальше, чем я был. (Жаль, что у меня не было опции CHMOD на Windows Server...) Спасибо за вашу помощь, ребята!   -  person Michael    schedule 31.01.2013
comment
Предложите вам отметить свой вопрос как ответ, если вы довольны найденным решением.   -  person Martin Eden    schedule 31.01.2013
comment
Извините, я новичок на stackoverflow.com и не могу найти, как пометить мой вопрос как отвеченный.   -  person Michael    schedule 01.02.2013
comment
@ Майкл ... не уверен, что вы можете пометить это как ответ, поскольку технически нет ответов, применимых к этому вопросу, только комментарии (которые не считаются ответами). Однако вы можете сами ответить на вопрос, используя информацию, полученную от других пользователей, а затем пометить его как ответ на свой ответ.   -  person Matthew Layton    schedule 05.02.2013


Ответы (1)


Кредит идет на транжиру и WLin. Была ошибка разрешения, которую я упустил из виду.

Спасибо всем за помощь!

person Michael    schedule 08.02.2013