{"id":98,"date":"2007-03-21T10:18:06","date_gmt":"2007-03-20T22:18:06","guid":{"rendered":"http:\/\/craig.dubculture.co.nz\/blog\/2007\/03\/21\/targeting-net-11-harder-than-it-seems\/"},"modified":"2010-08-28T17:35:39","modified_gmt":"2010-08-28T16:35:39","slug":"targeting-net-11-harder-than-it-seems","status":"publish","type":"post","link":"http:\/\/craig.dubculture.co.nz\/blog\/2007\/03\/21\/targeting-net-11-harder-than-it-seems\/","title":{"rendered":"Targeting .NET 1.1 harder than it seems"},"content":{"rendered":"<p>I'd like my application to be able to run on .NET 1.1, so I've avoided using all the new niceties of .NET 2.0.<\/p>\n<p>Or so I thought.<\/p>\n<p>First, I experimented with <a href=\"http:\/\/www.codeplex.com\/MSBee\">MSBee<\/a>, which lets you <a href=\"http:\/\/weblogs.asp.net\/fmarguerie\/archive\/2006\/02\/13\/work-with-visual-studio-2005-build-dotnet-1.aspx\">build for the .NET 1.1 environment using the VS 2005 tools<\/a>. After seeing how many errors my code generated in 1.1, while it compiled cleanly in 2.0, I thought \"maybe reimplementing this in VS 2003 might be easier\".<br \/>\nAnd while I've specifically avoided some of the .NET 2.0 things that would have been really handy, like the <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/system.security.principal.securityidentifier.aspx\">SecurityIdentifier class<\/a>, which makes handling SID-account mapping easy, there's things I didn't know would be a problem. You can't <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/k23f0345(VS.80).aspx\">set a registry key to be a certain type<\/a> in 1.1.  And you can't use <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/system.windows.forms.menustrip.aspx\">half the features that the designer implements for you automatically<\/a>. And even if you could, you'd have to hack at it, because they separate code and design with <a href=\"http:\/\/www.devx.com\/dotnet\/Article\/22603\">partial classes<\/a> in 2.0.<\/p>\n<p>So, to summarize, looks like .NET was pretty crap prior to 2005. And that means you need to have XP SP2, because it's not supported on SP1.<\/p>\n<p>(\/rant)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I'd like my application to be able to run on .NET 1.1, so I've avoided using all the new niceties of .NET 2.0. Or so I thought. First, I experimented with MSBee, which lets you build for the .NET 1.1 environment using the VS 2005 tools. After seeing how many errors my code generated in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[66,68],"tags":[2,3,4],"_links":{"self":[{"href":"http:\/\/craig.dubculture.co.nz\/blog\/wp-json\/wp\/v2\/posts\/98"}],"collection":[{"href":"http:\/\/craig.dubculture.co.nz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/craig.dubculture.co.nz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/craig.dubculture.co.nz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/craig.dubculture.co.nz\/blog\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":2,"href":"http:\/\/craig.dubculture.co.nz\/blog\/wp-json\/wp\/v2\/posts\/98\/revisions"}],"predecessor-version":[{"id":391,"href":"http:\/\/craig.dubculture.co.nz\/blog\/wp-json\/wp\/v2\/posts\/98\/revisions\/391"}],"wp:attachment":[{"href":"http:\/\/craig.dubculture.co.nz\/blog\/wp-json\/wp\/v2\/media?parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/craig.dubculture.co.nz\/blog\/wp-json\/wp\/v2\/categories?post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/craig.dubculture.co.nz\/blog\/wp-json\/wp\/v2\/tags?post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}