Avatar billede dotnewbi Juniormester
26. juni 2009 - 09:43 Der er 1 kommentar og
1 løsning

problem med file copy + rename

Hej Eksperter!
Jeg er støt ind i et problem i forbindelse med en funktion som skal kopier og samtidig omdøber aspx og cs filer. Det er ingen problemmer med at kopier og omdøbe filerne, problemmet ligger i at jeg har problemmer med at få rettet de referender som aspx filen har i sin header så som CodeFile="oldfile.aspx.cs" og Inherits="Call_oldfile" men uden helt i kan se min kode her under:


public void CopyRenameFile(string oldname, string newname, string oldfilepath, string newfilepath, bool codefile) {


                FileStream ReadFile = new FileStream(System.Web.HttpContext.Current.Server.MapPath("~/" + oldfilepath), FileMode.OpenOrCreate, FileAccess.Read);

                StreamReader sr = new StreamReader(ReadFile);
                string content = sr.ReadToEnd();
               
                string OldCodePage = "CodeFile=\""+oldname+".aspx.cs\"";
                string NewCodePage = "CodeFile=\"" + newname + ".aspx.cs\""; ;
                content.Replace(OldCodePage, NewCodePage);
             
                string OldInit = "Inherits=\"Call_"+oldname+"\"";
                string NewInit = "Inherits=\"Call_" + newname + "\"";
                content.Replace(OldInit, NewInit);

                string OldClass = "wi_ajaxpages_" + oldname;
                string NewClass = "wi_ajaxpages_" + newname;
                content.Replace(OldClass, NewClass);

                sr.Close();
                ReadFile.Close();

                if (codefile == true)
                {

Stream codeFile = File.Open(System.Web.HttpContext.Current.Server.MapPath("~/" + newfilepath), FileMode.Create);
StreamWriter sw = new StreamWriter(codeFile);

CSharpCodeProvider cscp = new CSharpCodeProvider();
ICodeGenerator codeGenerator = cscp.CreateGenerator(sw);
CodeGeneratorOptions cgo = new CodeGeneratorOptions();


CodeSnippetCompileUnit cscu = new CodeSnippetCompileUnit(content);                  codeGenerator.GenerateCodeFromCompileUnit(cscu, sw, cgo);
sw.Close();
codeFile.Close();
                }
                else
                {

FileStream WriteFile = new FileStream(System.Web.HttpContext.Current.Server.MapPath("~/" + newfilepath), FileMode.OpenOrCreate, FileAccess.Write);

       
        StreamWriter sw = new StreamWriter(WriteFile);
        sw.Write(content);
        sw.Close();
          WriteFile.Close();

                }
           
           
            }
Avatar billede Spotgun Seniormester
26. juni 2009 - 12:08 #1
Dine replaces fungerer ikke. Det skal være sådan her i stedet:

content = content.Replace(OldInit, NewInit);
Avatar billede dotnewbi Juniormester
26. juni 2009 - 21:58 #2
AHH ja det er jo øjene man bliver blind på først! Tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester