<?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>Suman Chakrabarti - SharePoint and ASP.NET blog : Visual Studio</title><link>http://blogs.msdn.com/sumanc/archive/tags/Visual+Studio/default.aspx</link><description>Tags: Visual Studio</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Get PublicKeyToken using external tools</title><link>http://blogs.msdn.com/sumanc/archive/2008/07/16/get-publickeytoken-using-external-tools.aspx</link><pubDate>Wed, 16 Jul 2008 18:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8739127</guid><dc:creator>Suman Chakrabarti</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sumanc/comments/8739127.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sumanc/commentrss.aspx?PostID=8739127</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sumanc/rsscomments.aspx?PostID=8739127</wfw:comment><description>&lt;P&gt;I hate fishing around to get the publickeytoken for my strong named assemblies, so I fished around for a way to do it in Visual Studio. Here's what I did:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Create a new External Tool - I called mine &lt;STRONG&gt;Get PublicKeyToken&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Map to the sn.exe file in the Windows SDK &amp;lt;DRIVE:\&amp;gt;Program Files\Microsoft SDKs\Windows\v6.0A\Bin\sn.exe&lt;/LI&gt;
&lt;LI&gt;Add the command you want to execute, in this case, it's &lt;STRONG&gt;-T $(TargetPath)&lt;/STRONG&gt; - you can get the TargetPath monniker from the flyout.&lt;/LI&gt;
&lt;LI&gt;Check the &lt;STRONG&gt;Use Output window&lt;/STRONG&gt; checkbox.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;IMG title="Get PublicKeyToken" style="WIDTH: 471px; HEIGHT: 458px" height=458 alt="Get PublicKeyToken" src="http://blogs.msdn.com/photos/sumanc/images/8738959/original.aspx" width=471 mce_src="http://blogs.msdn.com/photos/sumanc/images/8738959/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;Now, to execute it, select a &lt;STRONG&gt;*.dll&lt;/STRONG&gt; file. You can select the file in the bin directory of your dev project, go to &lt;STRONG&gt;Tools-&amp;gt;Get PublicKeyToken&lt;/STRONG&gt; and the output will be rendered to the Output window.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8739127" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sumanc/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Load Testing strategies in Visual Studio 2005: Scenario with SharePoint</title><link>http://blogs.msdn.com/sumanc/archive/2006/07/11/LoadTestingSharePoint.aspx</link><pubDate>Tue, 11 Jul 2006 23:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:662643</guid><dc:creator>Suman Chakrabarti</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sumanc/comments/662643.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sumanc/commentrss.aspx?PostID=662643</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sumanc/rsscomments.aspx?PostID=662643</wfw:comment><description>&lt;P&gt;Recently, I did some work at a customer who was having performance problems in their SharePoint environment and their custom web parts. A target web page test should perform such that the average page time is less than 3 seconds—even under a heavy load. The average page time was good when only a few users were utilizing the application; however, when the user load and the number of requests / second increased, the page time was exceeding 3 seconds (it was actually around 10 seconds). Besides determining the problem, they wanted to find which was the culprit—the infrastructure and/or the code. &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;STRONG&gt;&lt;EM&gt;Visual Studio 2005 Team Suite to the rescue! &lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;I determined this was a great scenario to use the new Test Suite built into the Visual Studio Test suite. I began by installing the Visual Studio Load Test Agent on 3 machines so I could perform a larger scale test—the agent allowed me to test the number of concurrent “users” making requests and I could test from different subnets to diversify the connections. Then, I created web tests for specific pages (only 1 page per test so I could get readings of the performance counters for an individual page). The specific counters I paid attention to were: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;Average requests / second &lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV&gt;Average response time (for the page alone as well as subsequent requests for CSS, images, and scripts) &lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV&gt;Page response time – which is the average time it takes the browser to download all the data the page is going to display (including CSS, images, and scripts) &lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV&gt;User load – the number of concurrent threads making page requests &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;STRONG&gt;Test Strategy &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #777670"&gt;&lt;EM&gt;Note: I do &lt;STRONG&gt;not&lt;/STRONG&gt; advocate doing stress testing in a production environment. If you do plan on doing so, you should notify users of the site outage. Load testing pushes a server environment to its limits to determine places where the infrastructure could fracture and where the application becomes unusable because the environment is overloaded.&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV&gt;Finding infrastructure problems: &lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV&gt;Perform multiple tests of the application in the troubled environment &lt;EM&gt;before&lt;/EM&gt; making any changes. This is to set a baseline for the environment. &lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV&gt;Since we were trying to find infrastructure problems, it was necessary to modify the environment and perform multiple short tests (2 minutes) to gather metrics. &lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;
&lt;DIV&gt;Finding code problems: &lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV&gt;Copy the code into a Virtual PC environment and stress test it to get some baselines. &lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV&gt;Add/remove web parts to determine if the problem lies in the: &lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV&gt;Number of web parts &lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV&gt;A specific web part type &lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV&gt;Web service performance &lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;
&lt;DIV&gt;Stress test the code after significant code changes to gather the metrics. &lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;In the end, this strategy worked out rather well. I was able to gather metrics to demonstrate which changes in the environment and changes in the code showed improvment to optimize the portal performance. After using the Visual Studio Test Suite for a few weeks, (IMHO) I really think we (Microsoft)&amp;nbsp;have a very high quality load testing software that will compete with other test tools, and because it is built into the Visual Studio environment, it will be easy for clients to notice the tools are familiar and one doesn't need retrained for a different set of tools.&lt;/P&gt;
&lt;P&gt;I advocate that everyone test his/her applications using these new test tools, especially since the .NET test&amp;nbsp;tools are&amp;nbsp;available in the Team Software Developer version of Visual Studio. The load test and web test tools are in the Team Test version. Of course, all the tools are available in the Team Suite version (exlcuding the Test Load Agent which is a separate product).&lt;/P&gt;
&lt;P&gt;Cheers!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=662643" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sumanc/archive/tags/SPS+2003_2F00_WSS+2/default.aspx">SPS 2003/WSS 2</category><category domain="http://blogs.msdn.com/sumanc/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Adding linked files to a Visual Studio project</title><link>http://blogs.msdn.com/sumanc/archive/2006/05/08/591031.aspx</link><pubDate>Mon, 08 May 2006 15:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:591031</guid><dc:creator>Suman Chakrabarti</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sumanc/comments/591031.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sumanc/commentrss.aspx?PostID=591031</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sumanc/rsscomments.aspx?PostID=591031</wfw:comment><description>&lt;P&gt;Here's a cool trick to add files to your project that are global.&amp;nbsp;The example is for linking a strong name key file to multiple projects, but this example is also good for embedding a resource in multiple projects, or creating a baseline GlobalAssemblyInfo file.&lt;/P&gt;
&lt;P&gt;I use this technique a lot for&amp;nbsp;sharing solution settings in the&amp;nbsp;GlobalAssemblyInfo file.&amp;nbsp; This is great for making sure all projects have the same assembly version, copyright info, company,&amp;nbsp;and I usually just point the proper location of the key file in the GlobalAssembly file.&lt;/P&gt;
&lt;P&gt;&lt;A HREF="/shawnfa/archive/2006/04/24/582278.aspx"&gt;http://blogs.msdn.com/shawnfa/archive/2006/04/24/582278.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=591031" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sumanc/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item></channel></rss>