Saturday, May 18, 2013 Register  Login

This site uses DNS Made Easy. Use it for reliable and professional DNS services.

RSS Feeds
Categories
  
Blog Archives
  
Blog

.NET Tools

    Sep
    07

    A while back, I created a little utility to edit ASP.NET membership services database. The instructions only talked about DotNetNuke. I've now added instructions on how to use it on regular ASP.NET membership databases.

    There previous blog post is DotNetNuke user manager - Winform App. The new app is called MembershipUserManager. I've included, as usual, both the source and binaries. The source is now a Visual Studio 2010 solution. It actually uses .NET 2.0, so older versions of Visual Studio and SharpDevelop can use the source.

    The ReadMe.txt file, in the zip files, has instructions on how to setup regular ASP.NET membership and DotNetNuke.

    posted @ Friday, September 07, 2012 10:07 AM by Hector Sosa, Jr

    Downloads:

    Actions:Tweet This Share on Facebook Share on LinkedIn Emakl Permalink del.icio.us
    Jul
    07

    I finally got the first working version of DeleteDevCrumbs. I decided to release this without a GUI, because I've found it so useful. The current release contains two (2) files; DeleteDevCrumbsConsole.exe and DeleteDevCrumbs.dll.

    Here is the commandline to handle "crumbs" from a typical Visual Studio setup:

    deletedevcrumbsconsole root=C:\Projects crumbfolderlist=bin,obj crumbextensionlist=suo,user

    You can just double-click on DeleteCrumbsConsole.exe to see its usage:

    I created this to solve the vexing issue of removing extra crap that IDEs create with the source code. I use this for code releases, and continuous integration. The two main programs that I use this with are FinalBuilder and CCNet.

    Please let me know if you use it for other things, and other programs. I'm very curious to see how this gets used. Leave a comment here or email me at hector AT systemwidgets DOT com.

    posted @ Thursday, July 07, 2011 12:11 PM by Hector Sosa, Jr

    Downloads:

    Actions:Tweet This Share on Facebook Share on LinkedIn Emakl Permalink del.icio.us
    Apr
    10
     1815 Views ::  6 Comments RSS comment feed

    I was in the process of updating both PainlessSVN Professional and Console to version 1.2.1, when I found a bug in Visual Studio 2010 debugger. The solutions for both projects were in VS2008. My OS recently died, so I had to re-install it from scratch. I only installed VS2010, because I wanted to move away from VS2008.

    My first hint that something was wrong was when I needed to modify the About dll to include the new version numbers and years in the copyright. This project is a C++ resource dll. This simple project would not compile on the VS2010 compiler when I converted it. I ended up firing one of my VMWare images that has VS2008 to get this done.

    The next thing that happened was that none of the breakpoints I set worked, while trying to track down an unhandled exception. I went to Google and found that this is a known bug. The report is over here:

    Debugging an MMC snapin does not attach correctly to mmc.exe

    The suggested work around is here:

    Can’t hit breakpoints in a plug-in or can’t debug .NET 2.0/3.0/3.5 from a mixed mode .exe project with Visual Studio 2010?

    Unfortunately, that didn't work for me. What did work was to change the mmc.exe instance from the C:\Windows\SysWow64 to the one in C:\Windows\System32, then attach the debugger manually. The debugger will not attach to instances of the mmc.exe program in the SysWow64 directory. I am running VS2010 on Windows 7 Ultimate x64, and that's why I was using the 64 bit version of mmc.exe.

    Anyways, hope this helps somebody else.

    posted @ Sunday, April 10, 2011 10:16 PM by Hector Sosa, Jr

    Actions:Tweet This Share on Facebook Share on LinkedIn Emakl Permalink del.icio.us
    Jan
    27
     1249 Views ::  1 Comments RSS comment feed

    I got tired of having to hand-copy file paths into the InnoSetup script for PainlessSVN. I'm specifically referring to the Subversion server files. There's something like 278 files, that are in nested folders. I had just finished pasting in all the paths for Subversion 1.6.13, when 1.6.15 was released and I was seriously dreading repeating this whole excersise again.

    I needed something that would recurse through both files and folders. It's easy doing one or the other, but not both at the same time (at least for me). I spent about 3 hours last night working on this. The good thing about this code is that I needed something similar for the new DeleteDevCrumbs utility that I'm polishing for release.

    As it currently stands, this code will create a list of files from the directory that is passed in through a command-line argument, scan the child directories, and create a text file for you. The file will contain a ready made list that can be pasted right in the [Files] section of an InnoSetup script.

    Here's a console app with this code: 

    using System.Collections.Generic;
    using System.IO;

    namespace ScanFilesTest {     class Program     {         private static List<string>  _tree = new List<string>();         static void Main(string[] args)         {             string rootDirectory = args[0];             var rootInfo = new DirectoryInfo(rootDirectory);             if (!rootInfo.Exists)             {                 throw new DirectoryNotFoundException(string.Format("{0} does not exist!", rootInfo.FullName));             }             FileInfo[] files = rootInfo.GetFiles();             if (files.Length > 0)             {                 ScanFolders(files);             }             else             {                 DirectoryInfo[] folders = rootInfo.GetDirectories();                 ScanFolders(folders);             }             TextWriter subversionList = new StreamWriter("D:\\subversionfilelist.txt");             foreach (var file in _tree)             {                 var currInfo = new FileInfo(file);                 string currDir = currInfo.FullName.Replace(rootDirectory, string.Empty);                 subversionList.WriteLine(string.Format("Source: {0}; DestDir: {{pf}}\\Subversion{1}; Components: Subversion", file, currDir));                 subversionList.Flush();             }             subversionList.Close();         }         private static void ScanFolders(FileInfo[] files)         {             foreach (var file in files)             {                 if (file != null && !string.IsNullOrEmpty(file.FullName))                 {                     _tree.Add(file.FullName);                  }             }             if (files.Length > 0)             {                 string root = files[0].DirectoryName;                 var rootInfo = new DirectoryInfo(root);                 DirectoryInfo[] folders = rootInfo.GetDirectories();                 if (folders.Length > 0)                 {                     ScanFolders(folders);                  }              }         }         private static void ScanFolders(IEnumerable<DirectoryInfo> folders)         {             foreach (var folder in folders)             {                 if (folder.GetFiles().Length > 0)                 {                     ScanFolders(folder.GetFiles());                 }                 else                 {                     if (folder.GetDirectories().Length > 0)                     {                         ScanFolders(folder.GetDirectories());                     }                     else                     {                         if (folder != null && !string.IsNullOrEmpty(folder.FullName))                         {                             _tree.Add(folder.FullName);                         }                     }                 }             }         }     } }

    posted @ Thursday, January 27, 2011 10:18 AM by Hector Sosa, Jr

    Actions:Tweet This Share on Facebook Share on LinkedIn Emakl Permalink del.icio.us
    Jan
    05

    I've seen other tech companies do a New Year's letter, and I'm trying to adopt this in my workflow. So here's a roadmap that I set for myself for 2011:

    TextFileSplitter 3

    The MEF support is half-baked, so I want to upgrade everything to .NET 4.0. This version of .NET has a native implementation of MEF, so that I don't have to resort to the downgraded assembly that was created for .NET 3.5.

    I also want to flush out the SDK. It needs a lot of love, and I now have the energy to get this done.

    PainlessSVN 2.0

    I want to see if I can get everything moved to .NET 4.0, as this version of the framework has a LOT of improvements. I'm hampered by .NET 2.0 right now, and I can't do a lot of things that I want. Moving to the latest version of .NET will let me implement some needed functionality without the need to resort to hacks.

    DeleteDevCrumbs

    This is a new utility that I created to help me with my builds. I found that I have to add a LOT of files, just to get my build script to get the correct files. One of the things that really annoys me is that there's a lot of temporary files from Visual Studio and Subversion in all my projects. On top of that, ReSharper and my other IDE plugins, also add their own temporary files.

    This utility will let you delete all of these nuisance files in one go. For example, you could copy the whole project folder to a temporary folder, and tell DeleteDevCrumbs to delete the bin and obj directories. This little gem will go through all the subdirectories and nuke all of these things. It will also take care of the .svn folders, if you tell it to.

    I'm in the process of polishing this for general comsumption.

    PainlessSVN Backup

    This is an application that has been on the back-burner for a long time. This will be similar to SVN Backup Widget. This is in the design stages, so not much has been done yet. I'm planning on using WPF for the GUI. My hope is that I can design it in such a way, that it can be used as a plugin for the new version of PainlessSVN. Not really sure when this will be done.

    Anyways, here's to a fruitful 2011!

    posted @ Wednesday, January 05, 2011 6:50 PM by Hector Sosa, Jr

    Actions:Tweet This Share on Facebook Share on LinkedIn Emakl Permalink del.icio.us
    Jan
    04

    I have been sort of avoiding the NoSQL document databases for a while. I tend to be need driven, and I just ran into a big speed bump with EAV (Entity-Attribute-Value) data for WheelMUD, my big open source project.

    I did some research and found that RavenDB is a native .NET NoSQL engine. I downloaded it and had it going in a few minutes. The first thing that struck me was that there was no desktop UI to manage the documents. I didn't that deter me, so I used the web UI instead. Luckily, RavenDB comes with a built-in web server.

    I was interested in the embbeded mode, so I tackled that first. I resorted to moving the database to where the server was, so that I could browse the document store. I had to do this every time I made a change, as I didn't want to bother to code the document database to the server directory. This was a throw-away app in any case.

    I got as far as storing documents, and got stuck on creating indices for queriying the stored documents. The indices are just LINQ queries. I'm not sure about the other NoSQL implementations, but RavenDB stores the documents as JSON files.

    I created a blog post on WheelMUD's site, with code and technical details.

    The biggest tip that I can give people is to leave any relational database experience at the door. It will hinder you when dealing with NoSQL databases/document stores.

    posted @ Tuesday, January 04, 2011 10:35 AM by Hector Sosa, Jr

    Posted in: .NET Tools

    Actions:Tweet This Share on Facebook Share on LinkedIn Emakl Permalink del.icio.us
    Jan
    05

    I just wanted to show everybody what I was working on tonight. I got the console program working with all the splitting strategies. That was a lot of fun. Since I was in a roll, I went ahead and implemented the feature where the GUI will give you the commandline for the current settings.

    Here is the GUI all setup:

    Now click on the "Get CommandLine" button and you get this:

    I also started filling out the SDK. All in all, I had a very fun night coding this. It really helped me forget (at least for a few hours) the blown engine in our Dodge Durango.

    Cheers!

    posted @ Tuesday, January 05, 2010 1:46 AM by Hector Sosa, Jr

    Actions:Tweet This Share on Facebook Share on LinkedIn Emakl Permalink del.icio.us
    Jan
    03

    The GUI is now done. I'm working on the command line console. I'm working really hard in keeping the same command-line swtiches that were used in version 1.5.1. Since there is no GUI in the console, I'm including the finished GUI screenshot:

    After I get this released, I will add functionality to have the GUI to create a command-line for the user.

    posted @ Sunday, January 03, 2010 8:54 PM by Hector Sosa, Jr

    Actions:Tweet This Share on Facebook Share on LinkedIn Emakl Permalink del.icio.us
    Dec
    27

    The UI design has been frozen. I need a couple more tweaks and it will be completely designed and coded. Here's a screenie of the UI having a directory as the source, and the split by line splitting strategy selected:

    I created a new forum group just for Text File Splitter. I already posted a Visual Studio template to create new file pattern tokens on the File Patten Tokens forum. This will install a generic template in Visual Studio 2008, for people who want to create custom tokens. It will look like this once it is installed, from the Add New Item menu:

    I will be doing the same for File Splitting Strategies very soon.

    posted @ Sunday, December 27, 2009 11:11 PM by Hector Sosa, Jr

    Actions:Tweet This Share on Facebook Share on LinkedIn Emakl Permalink del.icio.us
    Dec
    20

    I now have the basic infrastructure to load file splitting strategies using MEF. Here's a screenshot of the split by line strategy selected in the UI:

    So, with a bit of C# programming, you should be able to create your own file splitting strategies.

    I got the basic functionality of the file pattern tokens dialog done. I added one more feature that I still need to implement. I wanted to give users the ability to type in their own file names, so that they can see how the file pattern will affect the file name. Here's a screenshot of what I have so far:

    I'm hoping to have most of the file splitting stragegies on version 1.5.1 implemented before Christmas.

    posted @ Sunday, December 20, 2009 8:10 PM by Hector Sosa, Jr

    Actions:Tweet This Share on Facebook Share on LinkedIn Emakl Permalink del.icio.us
    Page 1 of 4First   Previous   [1]  2  3  4  Next   Last   
    Terms Of Use | Privacy Statement | SystemWidgets
    Copyright 2002-2013 by SystemWidgets
    Google Analytics Alternative