<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx</link><description>We have a very cool report we run every week over the entire .NET Framework that shows which members were obsoleted. As I was reviewing that list, I thought that this would be great information to get out to customers right away. After all if you are</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Obsoleted Members in Whidbey Framework 2.0</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#117975</link><pubDate>Thu, 22 Apr 2004 08:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:117975</guid><dc:creator>Sam Gentile's Blog</dc:creator><description /></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118010</link><pubDate>Thu, 22 Apr 2004 07:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118010</guid><dc:creator>PeteB</dc:creator><description>If Assembly.LoadWithPartialName is gone, is there any way to load with just a partial name? According to the documentation, Assembly.Load load needs the full name (or 'long name', as the docs refer to it), and I can recall needing to use LoadWithPartialName for something quite obscure.</description></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118028</link><pubDate>Thu, 22 Apr 2004 07:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118028</guid><dc:creator>Len Weaver</dc:creator><description>I haven't used any of the obsoleted classes/members, so I guess I'm safe.  You mentioned that you might be wiling to give us a sneak peek at other assemblies... I'd be very interested to find out what will change in the System.Data namespace.  I've heard very little about the v2.0 data access story.</description></item><item><title>Membri obsoleti in .NET Framework 2.0</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118134</link><pubDate>Thu, 22 Apr 2004 15:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118134</guid><dc:creator>Maurizio Tammacco Blog</dc:creator><description /></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118170</link><pubDate>Thu, 22 Apr 2004 14:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118170</guid><dc:creator>Ernst Kuschke</dc:creator><description>Calling abort on an already suspended thread is a good example of a deadlock, but surely there is some loss of functionality by making Thread.Suspend &amp;amp; Thread.Resume obsolete???</description></item><item><title>Obsolete members in Whidbey</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118172</link><pubDate>Thu, 22 Apr 2004 17:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118172</guid><dc:creator>Ernst Kuschke</dc:creator><description /></item><item><title>Early VS2005 deprecation info (by yag)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118215</link><pubDate>Thu, 22 Apr 2004 18:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118215</guid><dc:creator>VS Data Team's WebLog</dc:creator><description /></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118287</link><pubDate>Thu, 22 Apr 2004 16:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118287</guid><dc:creator>Roy J. Salisbury @ VsDevCentral</dc:creator><description>GetCurrentThreadId() - Message: AppDomain.GetCurrentOSThreadID has been deprecated because it does ....&lt;br&gt;&lt;br&gt;???&lt;br&gt;&lt;br&gt;The method in the left column is GetCurrentThreadId, but the message is about a non-existant GetCurrentOSThreadID method being deprecated...&lt;br&gt;&lt;br&gt;I think the message implies that we should use Thread.CurrentThread.ThreadId .. Just I typo in the message column I guess.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118313</link><pubDate>Thu, 22 Apr 2004 17:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118313</guid><dc:creator>Junfeng Zhang</dc:creator><description>PeterB,&lt;br&gt;&lt;br&gt;Assembly.Load works with partial name. Just it won't try to load random assembly from GAC. That is equivalent of dll hell in Win32. You can read Suzanne's blog (&lt;a target="_new" href="http://blogs.msdn.com/suzcook"&gt;http://blogs.msdn.com/suzcook&lt;/a&gt;) for more information.</description></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118319</link><pubDate>Thu, 22 Apr 2004 17:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118319</guid><dc:creator>Kit George [Microsoft]</dc:creator><description>In response the obsoleting of Thread.Abort/Resume, Jonathan Keljo and Chris Brumme, Manager and Architect for the area, reply:&lt;br&gt;We’ve never seen a sound reason for using that functionality. Most of the time, people who use Suspend/Resume are trying to do synchronization, and they get into big trouble with deadlocks. &lt;br&gt;&lt;br&gt;Synchronization is better (and more safe) with Monitor/Mutex/Semaphore.</description></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118341</link><pubDate>Thu, 22 Apr 2004 17:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118341</guid><dc:creator>Sriram Krishnan</dc:creator><description>Actually, I find it interesting that Java also initially had both Resume and Suspend and went ahead and deprecated both. I just find it interesting that .NET seems to have taken a similar path</description></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118406</link><pubDate>Thu, 22 Apr 2004 19:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118406</guid><dc:creator>Steve Maine</dc:creator><description>I find it sort of amusing that UnsafePack() has been obsoleted with an error message telling the user that the function is not safe. Seems sort of obvious from the method name...&lt;br&gt;&lt;br&gt;So is the new overload of UnsafePack() safe or not?</description></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118520</link><pubDate>Thu, 22 Apr 2004 22:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118520</guid><dc:creator>Suzanne Cook</dc:creator><description>Regarding LoadWithPartialName():&lt;br&gt;You can load with a partial name by calling Assembly.Load(). However, you should design your app in such a way that the full display name is available for this call (see &lt;a target="_new" href="http://blogs.msdn.com/suzcook/archive/2003/05/29/57137.aspx"&gt;http://blogs.msdn.com/suzcook/archive/2003/05/29/57137.aspx&lt;/a&gt; about display names). Otherwise, Load() will not be able to return assemblies in the GAC or in a v2.0 host assembly store. (Besides it just being good practice.)&lt;br&gt;&lt;br&gt;To see the reasons why it is important to use Load() instead of LoadWithPartialName(), see &lt;a target="_new" href="http://blogs.msdn.com/suzcook/archive/2003/05/30/57159.aspx"&gt;http://blogs.msdn.com/suzcook/archive/2003/05/30/57159.aspx&lt;/a&gt; .  Basically, the use of LWPN() causes a serious side-by-side bug in your code.&lt;br&gt;</description></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118533</link><pubDate>Thu, 22 Apr 2004 23:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118533</guid><dc:creator>Kevin Westhead</dc:creator><description>I see that the UCOMI* types have changed to ComTypes.I*. Out of curiosity, what are the naming guidelines when importing COM types to be used across different assemblies? Should I always use the same parameter names, etc. as defined in the original COM type even though they may not match the other .NET guidelines? This would explain why there is ComTypes.TYPEFLAGS rather than ComTypes.TypeFlags, however this sort of thing does cause FxCop to complain.</description></item><item><title>Obsoleted Members in Whidbey Framework 2.0</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118843</link><pubDate>Fri, 23 Apr 2004 15:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118843</guid><dc:creator>Marcus Mac Innes' Blog</dc:creator><description /></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118853</link><pubDate>Fri, 23 Apr 2004 12:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118853</guid><dc:creator>Ken Cowan</dc:creator><description>&lt;br&gt;If I p/invoke to SuspendThread and ResumeThread, will I get the same behavior as today's Thread.Suspend and Thread.Resume?  In particular, will the GC know that my thread is suspended in both cases, and so permit a collection to happen?&lt;br&gt;&lt;br&gt;You need Suspend and Resume to implement the Ada Task package.  There are features to enable the Ada programmer to ensure his app doesn't live lock.  Worse, the spec is written as if the OS doesn't do preemptive multitasking.   To get all this right, you need a whole lot of Suspend, Resume, fibers and synchronization objects.&lt;br&gt;&lt;br&gt;I do agree that it's easy to deadlock.  An early prototype of our performance profiler would occasionally cause deadlocks, due to the GC suspending threads while we held a critical section.  I also agree you should make it as easy as humanly possible for people to write apps that synchronize threads correctly.  I disagree with the decision to deprecate it, unless there is a viable alternative for a legitimate need.&lt;br&gt;&lt;br&gt;  KC</description></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#118872</link><pubDate>Fri, 23 Apr 2004 13:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:118872</guid><dc:creator>Ernst Kuschke</dc:creator><description>Once again it seems to be an issue of backwards compatibility biting...(!) If the &amp;quot;threading concept&amp;quot; could be designed from the ground up here, Suspend and Resume would never have existed.... (I slowly realised that today)&lt;br&gt;But since we've had it before, to be compatible with many issues, it's difficult, if not impossible, to totally deprecate the functionality.&lt;br&gt;&lt;br&gt;-Ernst</description></item><item><title>Obsolete Members in .NET V2.0.</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#119347</link><pubDate>Sat, 24 Apr 2004 06:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:119347</guid><dc:creator>Code In Zen</dc:creator><description /></item><item><title>Obsolete members inside .Net Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#119987</link><pubDate>Mon, 26 Apr 2004 03:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:119987</guid><dc:creator>Kevin's Blog</dc:creator><description /></item><item><title>Obsolete members inside .Net Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#119988</link><pubDate>Mon, 26 Apr 2004 03:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:119988</guid><dc:creator>Kevin's Blog</dc:creator><description /></item><item><title>FW: Obsolete members coming in .NET Framework 2.0</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#123462</link><pubDate>Fri, 30 Apr 2004 03:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:123462</guid><dc:creator>Lance's Whiteboard</dc:creator><description /></item><item><title>More on Whidbey API deprecation (by yag)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#124316</link><pubDate>Sat, 01 May 2004 04:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:124316</guid><dc:creator>VS Data Team's WebLog</dc:creator><description /></item><item><title>re: Early warning on obsolete members coming in .NET Framework 2.0 (Whidbey)</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#125445</link><pubDate>Tue, 04 May 2004 03:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:125445</guid><dc:creator>secretGeek</dc:creator><description>Hi Brad -- this is an excellent page, but (I have to say this) it falls so very far short!&lt;br&gt;&lt;br&gt;First off, developers who simply provide comments like 'This is obsolete, use such and such method instead,' should be dragged out into the yard, whipped, flogged and then, well, then the real torture should begin.&lt;br&gt;&lt;br&gt;This sort of documentation is too big an issue, to involve just the developers who make the change. If these were only internal APIs, then hell yes, this would be sufficient. But that isn't the case.. &lt;br&gt;&lt;br&gt;Each message needs to provide at least the following:&lt;br&gt; The URL of a webpage/helpfile that explains:&lt;br&gt;    * What has become obsolete&lt;br&gt;    * Why it has become obsolete&lt;br&gt;    * What you should use instead&lt;br&gt;    * What advantage the developer will get from using the alternative. (i.e. &amp;quot;What's in it for me?&amp;quot; -- code documentation is a public relations exercise after all)&lt;br&gt;    * The page should also provide the location of a forum where FAQ relating to this change are stored, and where new questions should be asked.&lt;br&gt;&lt;br&gt; The API message should have a concise summary of the above information.&lt;br&gt;&lt;br&gt;Yes, I think this is a lot of documentation to insist on, but it would ease the effort of upgrading APIs. And to ease that effort will be a major issue with microsoft in the years to come.&lt;br&gt;&lt;br&gt;Microsoft is a grown-up now, and it should behave like one.&lt;br&gt;&lt;br&gt;cheers&lt;br&gt;Leon&lt;br&gt;&lt;br&gt;(thanks though -- this page really is a very good start!)&lt;br&gt;</description></item><item><title>Membri obsoleti in .NET Framework 2.0</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#352910</link><pubDate>Fri, 14 Jan 2005 16:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:352910</guid><dc:creator>Maurizio Tammacco's Blog</dc:creator><description /></item><item><title>Twenty questions</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#8574367</link><pubDate>Thu, 05 Jun 2008 04:03:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8574367</guid><dc:creator>IWebThereforeIAm</dc:creator><description>&lt;p&gt;[Twenty questions] [Thread.Suspend/Resume)] [Worker thread wrapper class] [Winforms: merge and acceptChanges] dsChanges = dsOriginal.GetChanges(); CallToDBUpdateMethod(dsChanges); dsOriginal.Merge(dsChanges);...&lt;/p&gt;
</description></item><item><title> Brad Abrams Early warning on obsolete members coming in NET | Quick Diets</title><link>http://blogs.msdn.com/brada/archive/2004/04/21/117970.aspx#9714650</link><pubDate>Tue, 09 Jun 2009 13:46:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9714650</guid><dc:creator> Brad Abrams Early warning on obsolete members coming in NET | Quick Diets</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://quickdietsite.info/story.php?id=8401"&gt;http://quickdietsite.info/story.php?id=8401&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>