This is where i'll be 2nite

I was watching with one eye on the other side I had fifteen people telling me to move I got moving on my mind I found shelter In some thoughts turning wheels around I said 39 times that I love you to the beauty I had found Well its 1 2 3 4 take the elevator at the ...

Herzblatt

SUSI: So lieber Administrator jetzt musst du dich entscheiden. Ist es A, der smarte und überlegte, der genau weiss was sein Code und sein Programm tut und die benötigten Recht für seine Applikation sauber abgrenzt (z.B. durch das Einrichten eines "ServiceAccounts"). oder ist es B, der hitzige Typ, der die Augen vor dem Fortschritt verschliesst, wenn er mal gut gelaunt ist dem Admin eine Readme unterjubelt in der ungenau dokumentiert ist welche Recht sein Code zum Ausführen braucht und solange bis etwas in die Hose geht immer sagt "Das ist Aufgabe des Administrators".

NDoc Macro again

Something usefull i posted in my old blog and promised Christian and Günther to post it again... #Region "NDoc()"    Sub NDoc()        Dim nDocPath As String = "C:\Program files\NDoc\bin\.net-1.1\"        Dim objProj As Object()        Dim proj As Project        'Get Project        objProj = DTE.ActiveSolutionProjects        If objProj.Length = 0 Then            Exit Sub        End If        proj = DTE.ActiveSolutionProjects(0)        If (proj.ConfigurationManager.ActiveConfiguration.ConfigurationName = "Debug") Then            MsgBox("You cannot run this Macro in the Debug-configuration." & vbCrLf & _            "Switch to ""Realease"", build the project and run this Macro again.")            Exit Sub        End If        proj.ConfigurationManager.ActiveConfiguration.Properties.Item("DocumentationFile").Value =            proj.Properties.Item("AssemblyName").Value() & ".xml"        proj.Save()        Dim XmlString As String = "<project>" & vbCrLf & _            "    <assemblies>" & vbCrLf & _            "        <assembly location=""" & proj.Properties.Item("FullPath").Value() & _            "bin\Release\" & proj.Properties.Item("OutputFileName").Value() & """ documentation=""" & _            proj.Properties.Item("FullPath").Value() & "bin\Release\" & _            proj.Properties.Item("AssemblyName").Value() & ".xml"" />" & vbCrLf & _            "    </assemblies>" & vbCrLf & _            "    <namespaces>" & vbCrLf & _            "    </namespaces>" & vbCrLf & _            "    <documenters>" & vbCrLf & _            "        <documenter name=""MSDN"">" & vbCrLf & _            "            <property name=""OutputDirectory"" value=""" & _            proj.Properties.Item("FullPath").Value() & "doc\"" />" & vbCrLf & _            "            <property name=""HtmlHelpName"" value=""" & _            proj.Properties.Item("AssemblyName").Value() & """ />" & vbCrLf & _            "            <property name=""IncludeFavorites"" value=""True"" />" & vbCrLf & _            "            <property name=""Title"" value=""" & _            proj.Properties.Item("AssemblyName").Value() & _            """ />" & vbCrLf & _            "            <property name=""SplitTOCs"" value=""False"" />" & vbCrLf & _            "            <property name=""DefaulTOC"" value="""" />" & vbCrLf & _            "            <property name=""IncludeHierarchy"" value=""True"" />" & vbCrLf & _            "            <property name=""ShowVisualBasic"" value=""True"" />" & vbCrLf & _            "            <property name=""RootPageContainsNamespaces"" value=""True"" />" & vbCrLf & _            "            <property name=""SortTOCByNamespace"" value=""True"" />" & vbCrLf & _            "            <property name=""OutputTarget"" value=""HtmlHelpAndWeb"" />" & vbCrLf & _            "            <property name=""HeaderHtml"" value="""" />" & vbCrLf & _            "            <property name=""FooterHtml"" value=""Copyright © " & Year(Now) & _            " &lt;a href=http://www." & _            proj.Properties.Item("AssemblyName").Value().Split(".".ToCharArray)(0) & _            ".com&gt;" & _            proj.Properties.Item("AssemblyName").Value().Split(".".ToCharArray)(0) & _            " &lt;/a&gt; - all rights reserved."" />" & vbCrLf & _            "            <property name=""FilesToInclude"" value="""" />" & vbCrLf & _            "            <property name=""LinkToSdkDocVersion"" value=""MsdnOnline"" />" & vbCrLf & _            "            <property name=""ShowMissingSummaries"" value=""True"" />" & vbCrLf & _            "            <property name=""ShowMissingRemarks"" value=""False"" />" & vbCrLf & _            "            <property name=""ShowMissingParams"" value=""True"" />" & vbCrLf & _            "            <property name=""ShowMissingReturns"" value=""True"" />" & vbCrLf & _            "            <property name=""ShowMissingValues"" value=""True"" />" & vbCrLf & _            "            <property name=""DocumentInternals"" value=""False"" />" & vbCrLf & _            "            <property name=""DocumentProtected"" value=""True"" />" & vbCrLf & _            "            <property name=""DocumentPrivates"" value=""False"" />" & vbCrLf & _            "            <property name=""DocumentProtectedInternalAsProtected"" value=""False"" />" & _            vbCrLf & _            "            <property name=""DocumentEmptyNamespaces"" value=""False"" />" & vbCrLf & _            "            <property name=""IncludeAssemblyVersion"" value=""False"" />" & vbCrLf & _            "            <property name=""CopyrightText"" value="""" />" & vbCrLf & _            "            <property name=""CopyrightHref"" value="""" />" & vbCrLf & _            "            <property name=""ReferencesPath"" value="""" />" & vbCrLf & _            "            <property name=""SkipNamespacesWithoutSummaries"" value=""False"" />" & _            vbCrLf & _            "            <property name=""UseNamespaceDocSummaries"" value=""False"" />" & vbCrLf & _            "            <property name=""AutoPropertyBackerSummaries"" value=""False"" />" & vbCrLf & _            "            <property name=""AutoDocumentConstructors"" value=""True"" />" & vbCrLf & _            "            <property name=""DocumentAttributes"" value=""True"" />" & vbCrLf & _            "            <property name=""ShowTypeIdInAttributes"" value=""True"" />" & vbCrLf & _            "            <property name=""DocumentedAttributes"" value="""" />" & vbCrLf & _            "            <property name=""GetExternalSummaries"" value=""True"" />" & vbCrLf & _            "            <property name=""EditorBrowsableFilter"" value=""Off"" />" & vbCrLf & _            "            <property name=""UseNDocXmlFile"" value="""" />" & vbCrLf & _            "        </documenter>" & vbCrLf & _            "    </documenters>" & vbCrLf & _            "</project>"        Dim FileWriter As System.IO.StreamWriter        FileWriter = System.IO.File.CreateText(proj.Properties.Item("FullPath").Value() & _        proj.Properties.Item("AssemblyName").Value() & ".ndoc")        FileWriter.WriteLine(XmlString)        FileWriter.Close()        proj.ProjectItems.AddFromFile(proj.Properties.Item("FullPath").Value() & _        proj.Properties.Item("AssemblyName").Value() & ".ndoc")        proj.Save()        If System.IO.Directory.Exists(proj.Properties.Item("FullPath").Value & "\doc\") = False Then            System.IO.Directory.CreateDirectory(proj.Properties.Item("FullPath").Value & "\doc\")        End If        Dim hasDocDir As Boolean = False        For Each pitem As EnvDTE.ProjectItem In proj.ProjectItems            If pitem.Name = "doc" Then                hasDocDir = True            End If        Next        If hasDocDir = False Then            proj.ProjectItems.AddFolder("doc")            proj.Save()        End If        If System.IO.File.Exists(proj.Properties.Item("FullPath").Value & "\doc\" & proj.Properties.Item("AssemblyName").Value & ".chm") = False Then            Dim chmWriter As System.IO.StreamWriter =                 System.IO.File.CreateText(proj.Properties.Item("FullPath").Value() & "\doc\" & _            proj.Properties.Item("AssemblyName").Value() & ".chm")            chmWriter.WriteLine("")            chmWriter.Close()        End If        proj.ProjectItems.AddFromFile(proj.Properties.Item("FullPath").Value() & "\doc\" & proj.Properties.Item("AssemblyName").Value() & ".chm")        proj.Save()        If proj.Properties.Item("PostBuildEvent").Value = "" Then            proj.Properties.Item("PostBuildEvent").Value = """" & nDocPath & _                 "NDocConsole.exe"" -documenter=MSDN -project=""$(ProjectDir)" & _                 proj.Properties.Item("AssemblyName").Value() & ".ndoc"" -verbose" & vbCrLf & _                 "copy $(ProjectDir)doc\" & proj.Properties.Item("AssemblyName").Value() & _                 ".chm $(TargetDir)"        Else            Dim existing As String = ("" & proj.Properties.Item("PostBuildEvent").Value)            Dim exArr As String() = existing.Split(vbCrLf)            existing = ""            Dim y As Integer            For y = 0 To (exArr.Length - 1)                If exArr(y).IndexOf(nDocPath) = -1 And exArr(y).IndexOf(".chm") = -1 Then                    existing = existing & vbCr & exArr(y)                End If            Next            existing = nDocPath & _                 "NDocConsole.exe -documenter=MSDN -project=""$(ProjectDir)" & _                 proj.Properties.Item("AssemblyName").Value() & ".ndoc"" -verbose" & vbCrLf & _                 "copy $(ProjectDir)doc\" & proj.Properties.Item("AssemblyName").Value() & _                 ".chm $(TargetDir)" & _                 existing            proj.Properties.Item("PostBuildEvent").Value = existing        End If        proj.Save()        MsgBox("The file """ & proj.Properties.Item("AssemblyName").Value() & _            ".ndoc"" has been added to the project." & vbCrLf & _            "NDoc was registred as PostBuildEvent.")    End Sub#End Region

Another template based solution with ASP.NET 1.1

In the past weeks i have looked at several template based solutions for ASP.NET 1.1, because i can't wait for .NET 2.0. Region MasterPages and it's variations all around the webNo WYSIWYG/VS.NET support - No solution for me. Masterpages reinventedNice try, but i don't want to add so much lines to the code behind. I also realized SiteMesh.NET (http://joe.truemesh.com/blog/000275.html - hey Joe fix that damn JS error!!!), but i don't like that approach. So i decided to think about other concepts and wrote something that solves following for me: MasterPage WYSIWYG in VS.NET CodeBehind Other pages WYSIWYG in VS.NET CodeBehind ... with one line of code in the client pages. I'll talk about my solution on the VFL-NiederRhein UG Meeting in november or december. So if you are interested keep an eye open.