Solved

BC30456: 'Exists' is not a member of 'Directory'.

Posted on 2016-08-22
1
46 Views
Last Modified: 2016-08-23
I am working on a web application with Visual Studios using VB as my language. As I was building the site I would occasionally copy and paste from an existing webform tto create a new web form. I didn't realize that I also had to change the inherits statement in the declaration and the Partial Class name. It still worked absolutely fine in my development environment. When I published to the hosted server it of course cause problems. Since I have gone back and manually changed the inherits statement and Partial Class names to be the same in all instances but I am now getting a   "BC30456: 'Exists' is not a member of 'Directory'." error at runtime. When I try to compile the ste I am getting

Severity	Code	Description	Project	File	Line	Suppression State
Error		'Exists' is not a member of 'Directory'.	CommunityCrier	C:\Users\ohwoo\AppData\Local\Temp\WebSitePublish\CommunityCrier--1942723409\obj\Debug\AspnetCompileMerge\Source\LoggedIn\ProfileEdit.aspx.vb	308	
Error		'CreateDirectory' is not a member of 'Directory'.	CommunityCrier	C:\Users\ohwoo\AppData\Local\Temp\WebSitePublish\CommunityCrier--1942723409\obj\Debug\AspnetCompileMerge\Source\LoggedIn\ProfileEdit.aspx.vb	310	

Open in new window


The declarations from my .aspx page are:
<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPagers/FrontEnd.master" AutoEventWireup="false" CodeFile="ProfileEdit.aspx.vb" Inherits="LoggedIn_ProfileEdit" %>

Open in new window


The imports and  partial class are:
Imports System.Data
Imports CommunityCrierModel
Imports System.IO
Imports System.IO.Directory
Imports System.Web.UI.Page

Partial Class LoggedIn_ProfileEdit
    Inherits System.Web.UI.Page

Open in new window


The actual code is:
    Private Function SaveProfileImage() As String
        Dim strFilePath As String
        Dim myFilePath As String
        Dim strImageLocation As String

        'define file path
        strFilePath = "~/Images/PersonalImages/" & User.Identity.Name
        myFilePath = Server.MapPath(strFilePath)

        'check to see if file exists
        If Not Directory.Exists(myFilePath) Then
            'create direcory
            Directory.CreateDirectory(myFilePath)
        End If

        'define and get variables for saving uploaded image
        Dim strVirtualFolder As String = "~/Images/PersonalImages/" & User.Identity.Name & "/"
        Dim strPhysicalFolder As String = Server.MapPath(strVirtualFolder)
        Dim strFileName As String = Guid.NewGuid().ToString()
        Dim strExtension As String = Path.GetExtension(fulUserImage.FileName)

        strImageLocation = strVirtualFolder + strFileName + strExtension
        fulUserImage.SaveAs(System.IO.Path.Combine(strPhysicalFolder, strFileName + strExtension))

        Return strImageLocation
    End Function

Open in new window


I really want to be able to create appropriate directories on the fly for each user and not have potentially thousands of images from hundreds of different users store in the same file.

Let me know if you need any other information.

Any help or direction would be greatly appreciated.

Thanks,
Doug
0
Comment
Question by:OhioWoodWright
1 Comment
 
LVL 7

Accepted Solution

by:
Scobber earned 500 total points
Comment Utility
instead of using directory.exists try io.directory.exists
the reason being it appears its using a different namespace.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Today is the age of broadband.  More and more people are going this route determined to experience the web and it’s multitude of services as quickly and painlessly as possible. Coupled with the move to broadband, people are experiencing the web via …
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now