Visual Studio 2008 refuses to bind to TFS or to open solution source controlled

by fkollmann 8/25/2009 7:47:40 PM

We came up with the issue that there are one of the following errors regarding the TFS 2008.

Either you are unable to bind a solution at all, showing:

The solution you have opened is under source control but not currently configured for integrated source control in Visual Studio. …

Or the solution is opened without source control, showing:

The solutions appears to be under source control but its binding information cannot be found. …

Output Window: The solution is offline because its associated Team Foundation Server is offline.

The solution is quite simple: Recreate the server entry in Visual Studio 2008:

1) Close the solution

2) Disconnect the TFS

clip_image002

3) Remove the server

clip_image002[4]

clip_image002[6]

clip_image002[8]

4) Re-add the server

clip_image002[10]

5) Open the solution. Everything should be fine now.

Q: http://markitup.com/Posts/Post.aspx?postId=6355ea6f-3af6-4cfc-86b0-b6467de2cd0d
Q: http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/308255ac-2e10-426c-996c-ca62321c8e1f

Loading Assembly’s exported Types

by fkollmann 8/6/2009 3:04:35 PM

Simple and clean…

public class ExportedTypesLoader : IDisposable
{
    private AppDomain _domain;
    private IEnumerable<Type> _types;

    public IEnumerable<Type> ExportedTypes
    {
        get { return _types; }
    }

    public Type FindType(string fullName)
    {

        if (string.IsNullOrEmpty(fullName))
            throw new ArgumentException("null or empty", "fullName");

        return (
            from t in _types
            where t.FullName == fullName
            select t
            ).FirstOrDefault();
    }

    public void Dispose()
    {
        if (_domain != null)
        {
            AppDomain.Unload(_domain);
        }
    }

    public ExportedTypesLoader(string asmPath)
    {
        if (string.IsNullOrEmpty(asmPath))
            throw new ArgumentException("null or empty", "asmPath");

        // file exists?
        var asmFile = new FileInfo(asmPath);

        if (!asmFile.Exists)
            throw new ArgumentException("assembly file does not exist: " + asmFile.FullName, "asmPath");

        // create domain
        _domain = AppDomain.CreateDomain("ExportedTypesLoaderDomain-" + Guid.NewGuid().ToString("N"));

        // load assembly and exported types
        var asmData = File.ReadAllBytes(asmFile.FullName);

        var asm = _domain.Load(asmData);

        _types = asm.GetExportedTypes();

    }
}

Router Control v1.2 CTP1 released

by fkollmann 8/1/2009 6:41:56 PM

In the last days I realized that there would have to be some deep changes on the user experience to overcome puzzled questions of users whever they did something wrong if their router does not implement UPNP correctly. Additionally a lot of users did not even use the diagnostic tool and they did not active the error reporting either.

So I decided to make some changes here. First, the error reporting is now enabled by default and and the process of selecting a router (for being monitored) changed completely and is now covered by a wizard. Secondly, there is now a new type of information gathered (optionally) which does not only cover working but also unsupported routers. This information is used to build up a database of supported and unsupported routers since being supported often relates to the router’s firmware version. As soon as the database contains enough data and I am sure how to analyze it the information will be made public on the Schema DB.

Feel free to test this version and please submit errors (even typos and other stuff) here.

BTW: Those hoping for news on the AIC winning add-in: expect more next week…

DOWNLOAD, Screenshots