<?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>C# Frequently Asked Questions : IDE</title><link>http://blogs.msdn.com/csharpfaq/archive/tags/IDE/default.aspx</link><description>Tags: IDE</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Is it possible to output the command-line used to build a project in Visual Studio?</title><link>http://blogs.msdn.com/csharpfaq/archive/2004/11/30/272587.aspx</link><pubDate>Wed, 01 Dec 2004 01:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:272587</guid><dc:creator>CSharpFAQ</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/csharpfaq/comments/272587.aspx</comments><wfw:commentRss>http://blogs.msdn.com/csharpfaq/commentrss.aspx?PostID=272587</wfw:commentRss><description>&lt;P&gt;Now that Whidbey has been out in Beta for more than a few months, it seems worth revisiting some frequently asked questions which have different (better?) answers now. &lt;/P&gt;
&lt;P&gt;In Everett (v7.1) the answer used to be No. &lt;/P&gt;
&lt;P&gt;However, in Whidbey (v8.0), the answer is Yes (and No). &lt;/P&gt;
&lt;P&gt;For the yes part of the answer, after building, go to the Output Window, select "Show Output from: Build", and about half way down you will see a section like this: &lt;/P&gt;&lt;code&gt;
&lt;P&gt;Target "Compile" in project "ConsoleApplication1.csproj" &lt;/P&gt;
&lt;P&gt;Task "Csc" &lt;/P&gt;
&lt;P&gt;Csc.exe /noconfig /warn:4 /define:DEBUG;TRACE /debug+ /optimize- /out:obj\Debug\ConsoleApplication1.exe /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.31125\System.Data.dll, C:\WINDOWS.0\Microsoft.NET\Framework\v2.0.31125\System.XML.dll, C:\WINDOWS\Microsoft.NET\Framework\v2.0.31125\System.dll /target:exe /win32icon:App.ico AssemblyInfo.cs Class1.cs &lt;/P&gt;
&lt;P&gt;The task is invoking the IDE's in-process compiler to perform the equivalent of the above command-line. &lt;/P&gt;&lt;/code&gt;
&lt;P&gt;Now for the no part of the answer. The project system does not actually execute this command line as part of the build process. As the output says, the IDE directly calls its own in-process compiler to perform the equivalent. However, in all cases, you should get the same results using the command line suggested in the output window. If you don't, you could be looking at a bug. &lt;/P&gt;
&lt;P&gt;Note: before you cut and paste the build output to the command line, remember to add the path to CSC.EXE &lt;/P&gt;
&lt;P&gt;[Author: SantoshZ] &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=272587" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/csharpfaq/archive/tags/IDE/default.aspx">IDE</category><category domain="http://blogs.msdn.com/csharpfaq/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/csharpfaq/archive/tags/C_2300_+Language+2.0/default.aspx">C# Language 2.0</category></item><item><title>Add Custom .NET Assemblies to the Add Reference Dialog</title><link>http://blogs.msdn.com/csharpfaq/archive/2004/10/20/245239.aspx</link><pubDate>Wed, 20 Oct 2004 18:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:245239</guid><dc:creator>CSharpFAQ</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.msdn.com/csharpfaq/comments/245239.aspx</comments><wfw:commentRss>http://blogs.msdn.com/csharpfaq/commentrss.aspx?PostID=245239</wfw:commentRss><description>&lt;p&gt;As you most likely know by now, the Add References dialog of Visual Studio .NET does &lt;i&gt;not &lt;/i&gt;list each and every assembly on your machine, does &lt;i&gt;not &lt;/i&gt;directly map to the Global Assembly Cache and does &lt;i&gt;not &lt;/i&gt;list your custom assemblies.  Typically this limitation is addressed by manually navigating to the *.dll of interest via the 'Browse' button.&lt;/p&gt;

&lt;p&gt;However, if you wish to force VS.NET to display your custom assemblies within in the list maintained by the Add Reference dialog, all you need to do is place a copy of the assembly within the 'PublicAssemblies' folder located under C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE.  Once you have done so, lo' and behold, your custom *.dlls are listed automatically.&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;Tip from &lt;a href="http://www.intertechtraining.com/Instructors/Default.aspx?InstructorID=1" target="_blank"&gt;Andrew Troelsen&lt;/a&gt;&lt;br /&gt;
Posted by: &lt;a href="http://blogs.duncanmackenzie.net/duncanma" target="_blank"&gt;Duncan Mackenzie&lt;/a&gt;, MSDN&lt;br /&gt;
&lt;i&gt;This post applies to Visual C# .NET 2002/2003&lt;/i&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=245239" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/csharpfaq/archive/tags/IDE/default.aspx">IDE</category><category domain="http://blogs.msdn.com/csharpfaq/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.msdn.com/csharpfaq/archive/tags//default.aspx" /></item><item><title>Why did I receive the error:  "The type or namespace '&lt;namespace name&gt;' does not exist in the class or namespace '&lt;parent namespace&gt;' (are you missing an assembly reference?)"</title><link>http://blogs.msdn.com/csharpfaq/archive/2004/04/29/123028.aspx</link><pubDate>Thu, 29 Apr 2004 16:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:123028</guid><dc:creator>CSharpFAQ</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/csharpfaq/comments/123028.aspx</comments><wfw:commentRss>http://blogs.msdn.com/csharpfaq/commentrss.aspx?PostID=123028</wfw:commentRss><description>&lt;P&gt;You need to add a reference in your project to an assembly where that namespace is defined.&lt;/P&gt;
&lt;P&gt;If you are using VS.NET: &lt;/P&gt;
&lt;P&gt;1.&amp;nbsp; Right click on the References folder on your project.&lt;BR&gt;2.&amp;nbsp; Select Add Reference.&lt;BR&gt;3.&amp;nbsp; Select the .NET tab (or select the Browse button if it is not a .NET Framework assembly).&lt;BR&gt;4.&amp;nbsp; Double-click the assembly containing the namespace in the error message.&lt;BR&gt;5.&amp;nbsp; Press the OK button.&lt;/P&gt;
&lt;P&gt;If you are using the command line, use the /r: or /reference: option.&amp;nbsp; For Example:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;csc.exe /reference:System.Drawing.dll MyFontDisplayApp.cs&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;When you recompile, this error will no longer appear.&lt;/P&gt;
&lt;P&gt;You can find the assembly, where a namespace is defined, in the documentation.&amp;nbsp; Identify one of the types in the namespace that you want to use.&amp;nbsp; Every type in the .NET Framework has an "About" page that provides an overview, basic information about the type, and example code if you're lucky.&amp;nbsp; At the bottom of the Overview, for all types, there is a "Requirements" section.&amp;nbsp; This has a Namespace member that tells what namespace the type belongs to.&amp;nbsp; It also tells what assembly type belongs to, which is the assembly you need to reference in your application.&amp;nbsp; For example, if I had an application that was using Font types, I would look up Font in the .NET Framework documentation, using the Index tab, and observe that the Font type is in the System.Drawing namespace and its assembly is System.Drawing.dll.&lt;/P&gt;
&lt;P&gt;Another question related to this is "If I've already declared a &lt;EM&gt;using&lt;/EM&gt; statement, why do I have to add the reference to the project?"&lt;/P&gt;
&lt;P&gt;The reason derives from the fact that the &lt;EM&gt;using&lt;/EM&gt; statement and assembly references have two different purposes.&amp;nbsp; Recall that the purpose of namespaces is to disambiguate type references and provide logical organization of types.&amp;nbsp; When specifying a namespace in a &lt;EM&gt;using&lt;/EM&gt; statement, you are telling C# that you want to use the types in that namespace in an unqualified manner.&amp;nbsp; The key point is that namespaces are "logical" entities that could exist in one or more assemblies.&amp;nbsp; On the other hand, assemblies are "physical" entities that contain multiple types.&amp;nbsp; Assemblies are many things, but for the purposes of this discussion, an assembly is the unit of deployment in .NET.&amp;nbsp; So, the reason you need a reference to the assembly that the type is located in is so that C# can find the physical location of that type, which is not possible with the logical namespace provided by a using statement.&lt;/P&gt;
&lt;P&gt;[Author: &lt;A href="http://www.csharp-station.com/"&gt;Joe Mayo&lt;/A&gt;]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=123028" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/csharpfaq/archive/tags/C_2300_+Language+and+Compiler/default.aspx">C# Language and Compiler</category><category domain="http://blogs.msdn.com/csharpfaq/archive/tags/IDE/default.aspx">IDE</category></item></channel></rss>