History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: RSRP-33990
Type: Exception Exception
Status: Closed Closed
Resolution: Fixed
Priority: Normal Normal
Assignee: Eugene Pasynkov
Reporter: Brian Scott
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
ReSharper

Value cannot be null.

Created: 01 Jan 07 13:28   Updated: 11 Dec 07 00:34
Component/s: None
Fix Version/s: 2.5.2
Security Level: Everybody (All jira users)

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown

Build: 331
Fixed in build: 400


 Description  « Hide
Ctrl+Q while cursor positioned within xml class summary comments of an abstract generic class.
Build331, VS2005
JetBrains.ReSharper.Util.InternalErrorException: Value cannot be null.
Parameter name: element
An exception has occurred during action 'QuickDoc' execution ---> System.ArgumentNullException: Value cannot be null.
Parameter name: element
at JetBrains.ReSharper.CodeInsight.QuickDoc.QuickDocView.Create(IDeclaredElement element, IPopupLayouter layouter, IPopupWindowContext popupwindowcontext) in c:\BuildAgent\work\Server\ReSharper2.5\src\CodeInsight\src\QuickDoc\QuickDocView.cs:line 179
at JetBrains.ReSharper.CodeInsight.QuickDoc.ShowQuickDocAction.Execute(IDataContext context, DelegateExecute nextExecute) in c:\BuildAgent\work\Server\ReSharper2.5\src\CodeInsight\src\QuickDoc\ShowQuickDocAction.cs:line 92
at JetBrains.ReSharper.ActionManagement.ExecutableAction.Execute(IDataContext context) in c:\BuildAgent\work\Server\ReSharper2.5\src\ActionManagement\src\Action\ExecutableAction.cs:line 29
— End of inner exception stack trace —

at JetBrains.ReSharper.Util.Logger.LogExceptionEx(Exception, String, Boolean) in c:\BuildAgent\work\Server\ReSharper2.5\src\Util\src\Logger.cs:line 350 column 9
at JetBrains.ReSharper.Util.Logger.LogException(String, Exception) in c:\BuildAgent\work\Server\ReSharper2.5\src\Util\src\Logger.cs:line 367 column 5
at JetBrains.ReSharper.ActionManagement.ExecutableAction.Execute(IDataContext) in c:\BuildAgent\work\Server\ReSharper2.5\src\ActionManagement\src\Action\ExecutableAction.cs:line 34 column 11
at JetBrains.ReSharper.ActionManagement.ActionManagerBase.ExecuteAction(IExecutableAction, IDataContext) in c:\BuildAgent\work\Server\ReSharper2.5\src\ActionManagement\src\ActionManager\ActionManagerBase.cs:line 548 column 11
at JetBrains.ReSharper.ActionManagement.ActionManagerBase.ExecuteAction(IExecutableAction) in c:\BuildAgent\work\Server\ReSharper2.5\src\ActionManagement\src\ActionManager\ActionManagerBase.cs:line 528 column 5
at JetBrains.VSAddin.ActionManagement.VSActionManager.Exec(String, vsCommandExecOption, Object&, Object&, Boolean&) in c:\BuildAgent\work\Server\ReSharper2.5\src\VSAddin\src\ActionManagement\VSActionManager.cs:line 494 column 11
at JetBrains.VSAddin.AbstractAddIn.Exec(String, vsCommandExecOption, Object&, Object&, Boolean&) in c:\BuildAgent\work\Server\ReSharper2.5\src\VSAddin\src\Connect.cs:line 260 column 7



 All   Comments   Work Log   Change History      Sort Order:
Brian Scott - 01 Jan 07 13:32
Previous exception:RSRP-33990
Happens if the cursor is inside xml comments. Works correctly if the cursor is on a member name.
Build331, VS2005

Albert Weinert - 02 Jan 07 00:43
Using QuickDoc within an Xml Comment of an Class
Build331, VS2005

Jeffrey Odell - 21 Jan 07 18:00
Ctrl-Q on documentation xml
Build337, VS2005

Jeffrey Odell - 21 Jan 07 18:00
Previous exception:RSRP-33990

Here's the doc comment that caused the exception:

/// <summary>
/// Instantiates a new service host loader and starts it.
/// </summary>
/// <remarks>
/// Since this class implements IDisposable<seealso cref="IDisposable"/>, it is
/// especially useful to use this in a using clause. This will run the service
/// until the block ends.
///
/// For example:
/// <code>
/// using (ServiceHostLoader.LoadAndStartServices())
/// { /// Console.WriteLine(); /// Console.WriteLine("Press Any Key to Shut Down Services..."); /// Console.WriteLine(); /// Console.Read(); /// }
/// </code>
///
/// Because Windows Services in .Net throw an OnStart and OnStop event, this
/// technique does not work well for these. Therefor, this class also supports
/// stopping the services with a public method, StopServices(), for those
/// situations.
///
/// </remarks>
/// <returns>A Service Host loader with running services.</returns>
Build337, VS2005


Anonymous - 24 Jan 07 22:52
Pressed CTRL-Q, the hotkey mapped to Resharper2.5.Addin.QuickDoc.

The cursor was in an XML comment block.

Build340, VS2005


Anonymous - 26 Jan 07 20:37
Build337, VS2005

Anonymous - 26 Jan 07 20:39
Previous exception:RSRP-33990
Build337, VS2005

Jeffrey Odell - 29 Jan 07 01:34
Crtl-Q to look at a document
Build340, VS2005

Jeffrey Odell - 29 Jan 07 01:36
Previous exception:RSRP-33990

Here's the doc dcomment that causes this exception:

/// <summary>
/// Class to assist in managing transaction lifetimes inside scopes on a particular thread.
/// </summary>
/// <remarks>
/// <para />
/// Allows almost-automated re-use of database transactions across multiple call levels
/// while still controlling transaction lifetimes.
/// <para />
/// To use:
/// <para />
/// <list type="bullet">
/// <item>
/// Create a new transaction scope object in a using statement at the level within which you
/// want to scope transactions.
/// </item>
/// <item>
/// Access the Transaction using scope.Transaction property. This object should not
/// be committed or rolled back directly.
/// </item>
/// <item>
/// If you want to roll back, execute scope.Rollback befor the end of the transaction. call
/// to Rollback at any level of the transaction will cause the entire transaction to roll back.
/// </item>
/// <item>
/// You can test the result of the transaction using scope.TransactionState.
/// </item>
/// </list>
/// <para />
/// Example of transaction that commits:
/// <code>
/// using (DbTransactionScope scope = new DbTransactionScope())
/// { /// _entity1TableAdapter.Update(dataSet, scope.Transaction); /// _entity2TableAdapter.Update(dataSet, scope.Transaction); /// }
/// </code>
/// Example of rollback:
/// <code>
/// using (DbTransactionScope scope = new DbTransactionScope())
/// { /// _entity1TableAdapter.Update(dataSet, scope.Transaction); /// _entity2TableAdapter.Update(dataSet, scope.Transaction); /// /// scope.Rollback(); /// }
/// </code>
/// <para />
/// Inspiration from this blog post:
/// <para />
/// http://blogs.msdn.com/dataaccess/attachment/532026.ashx
/// </remarks>

Build340, VS2005


Jeffrey Odell - 29 Jan 07 01:37
Previous exception:RSRP-33990

Actually, All doc comments are not showing with this build.
Build340, VS2005


Jeffrey Odell - 29 Jan 07 03:03
Build340, VS2005

Jeffrey Odell - 31 Jan 07 18:19
Ctrl-Q again :<
Build340, VS2005

Jeffrey Odell - 31 Jan 07 18:44
Previous exception:RSRP-33990
Build340, VS2005

Anonymous - 01 Feb 07 01:30
Build330, VS2005

Jeffrey Odell - 01 Feb 07 21:18
Ctrl-Q again
Build337, VS2005

Anonymous - 12 Feb 07 12:00
I pressed Ctrl+Q to launch the documentation viewer for a property in a class I have written. The cursor was within the <summary> element of the xml comment.
Build337, VS2005

Jeffrey Odell - 15 Feb 07 14:36
Ctrl-Q
Build351, VS2005

Jeffrey Odell - 15 Feb 07 14:39
Previous exception:RSRP-33990

Here is the comment:

/// <summary>
/// <para>
/// DbTransactionScope manages a single database transaction lifetime on a single thread.
/// It allows for a non-predetermined level of nesting and handles commiting and rolling back in the
/// presence of unhandled exceptions.
/// </para>
/// <remarks>
/// <para>
/// This class was created to avoid using the System.Transactions.TransactionScope object for transactions
/// that are known, from the outset, to utilize only one database connection. It can be substituted for
/// the TransactionScope class in this situation.
/// </para>
/// <para>
/// TransactionScope is not a good option if more than one connection is made to the same database as part or the
/// same transaction. In this situation, the TransactionScope object, will promote the transaction to a two-phase commit
/// using DCOM.
/// </para>
/// <para>
/// Furthermore, the Enterprise Library 2.0 Data Access Block has two alternatives to accessing the database:
/// </para>
/// <list type="number">
/// <item>Methods that pull a connection from the connection pool and executes the SQL or stored procedure; and</item>
/// <item>Overrides that accept a Database transaction. These overrides allows multiple SQL or stored procedures to be
/// executed on the same transaction and, by extension, the same connection.</item>
/// </list>
/// <para>
/// Using TransactionScope to surround multiple calls to the first type of method will create the exact promotion to
/// DCOM transactions that DbTransactionScope is designed to avoid.
/// </para>
/// </para>
/// In order to support transactions with Enterprise Library, the transaction must be created and passed
/// to the Data Access Block layer. Creating a series of methods in data and business layer classes to pass this
/// instance of tranasction around is cumbersome. Also it requires knowledge of whether a calling process has already
/// created a transaction that the object should use, or whether the object should start the transaction. The
/// DbTransactionScope helps solve this problem; in the context of a single thread; by storing a transaction
/// in the static state of the thread.
/// </para>
/// </para>
/// DbTransactionScope creates or inherits a transaction from an outer scope depending on
/// whether it is a "top level" ccope or a "nested" scope. This is not unlike the TransactionScope
/// object, and the protocol on DbTransactionScope is designed to work in the same manner as TransactionScope.
/// </para>
/// <para>
/// DbTransactionScope is compatible with the TransactionScope object and can be used with it if necessary.
/// This would allow SbTransactionScope to work in transactions that do require a two-phase commit. Even in that
/// case it will cause fewer connections to a single database that participates in the transaction.
/// </para>
/// <para>
/// To use:
/// </para>
/// <list type="number">
/// <item>
/// Create a new DbTransactionScope object, typically with a using statement, in any method within which you
/// want to execute database updates on a single transaction. This will cause the following behaviour at the
/// start of the using clause:
/// <list type="bullet">
/// <item>In the presence of no previous DbTransactionScope on the thread, the constructor will create a top level
/// DbTransactionScope containing a new DbTransaction. Depending on the constructor used, the
/// transaction will be created against the default database or a named database defined in
/// EnterpriseLibrary configuration.
/// </item>
/// <item>In the presence of an existing DbTransactionScope on the thread, the constructor
/// will create nested transaction scope containing the same DbTransaction as the outer scope. If the
/// constructor used does not specify a named database in EnterpriseLibrary configuration, the
/// transaction will be against the same database as the top level scope. If it specifies a named configuration,
/// it must be the same as the top level scope, or an exception will be thrown.
/// </item>
/// </list>
/// </item>
/// <item>
/// In each scope, explicitly complete the transaction scope using the Complete() method.
/// If you want to roll back, do not call Complete() before the end of the transaction scope.
/// This will cause the entire tranasction to roll back on disposal of the top level
/// transaction.
/// </item>
/// <item>
/// You can test whether the transaction is still scheduled to commit by
/// accessing the scope.IsActive() property. This is useful if you want to avoid work when
/// a transaction is already scheduled to be rolled back. Note that if a scope is already rolled back,
/// subsequent calls to the database will not be made.
/// </item>
/// </list>
/// </para>
/// <para>
/// Example of transaction that commits:
/// </para>
/// <code>
/// using (DbTransactionScope scope = new DbTransactionScope())
/// { /// _entity1TableAdapter.Update(dataSet); /// _entity2TableAdapter.Update(dataSet); /// /// scope.Complete(); /// }
/// </code>
/// <para>
/// Example of rollback (assuming "Some Condition") is not met:
/// </para>
/// <code>
/// using (DbTransactionScope scope = new DbTransactionScope())
/// { /// _entity1TableAdapter.Update(dataSet); /// _entity2TableAdapter.Update(dataSet); /// /// if ("Some Condition") /// scope.Complete(); /// }
/// </code>
/// <para>
/// Inspiration from this blog post:
/// </para>
/// <para>
/// http://blogs.msdn.com/dataaccess/attachment/532026.ashx
/// <para>
/// </para>
/// as well as the protocol on the much broader System.Transactions.TransactionScope
/// class in the .Net framework.
/// </para>
/// </remarks>
/// </summary>
Build351, VS2005


Jeffrey Odell - 18 Feb 07 00:07
trl-Q majorly broken - failing on:

/// <summary>
/// Returns <code>true</code> if the specified key already exists as a tool item, <code>false</code> otherwise.
/// </summary>
/// <param name="key">The key.</param>
/// <returns></returns>
Build351, VS2005


Anonymous - 20 Feb 07 23:43
Using Quick Documentation
Build337, VS2005

Anonymous - 23 Feb 07 02:28
Hit Ctrl-Q to popup preview of XML comments in C# code window.
Build351, VS2005

Anonymous - 26 Feb 07 22:27
typed CTRL-Q to show QuickDoc
Build351, VS2005

Anonymous - 27 Feb 07 22:05
HIt Ctrl-Q on XML comments of method
Build337, VS2005

Anonymous - 27 Feb 07 22:05
Previous exception:RSRP-33990
Build337, VS2005

Gunnlaugur Thor Briem - 08 Mar 07 14:51
I had this in a doc comment:

/// <exception cref="InvalidOperationException">thrown if </exception>

and put the cursor after the opening < character and pressed Ctrl-Q, wondering if I'd get documentation for the <exception> documentation tag.
Build351, VS2005


Anonymous - 12 Mar 07 12:02
Build351, VS2005

Anonymous - 12 Mar 07 12:03
Previous exception:RSRP-33990
Build351, VS2005

Anonymous - 13 Mar 07 14:34
Pressed Ctrl-Q when the cursor was in the c#doc comment rather than on a method name
Build337, VS2005

Anonymous - 14 Mar 07 20:55
Did a ctrl-Q witht he curson in the document area of a method.
Build337, VS2005

Anonymous - 15 Mar 07 02:38
Tried to view XML Comments. Throws an exception each time I try
Build351, VS2005

Anonymous - 20 Mar 07 10:49
Build351, VS2005

Anonymous - 21 Mar 07 11:07
Used the show documentation (Ctrl+Q) shortcut while within the xml comment of a class.
Build337, VS2005

Anonymous - 22 Mar 07 09:16
In a c# file, pressing ctrl+q
Build337, VS2005

Anonymous - 27 Mar 07 04:09
Quick XML documentation shortcut.
Build337, VS2005

Anonymous - 31 Mar 07 00:45
I got this error when I did Ctrl-Q on a method that has full XML comments.
Build370, VS2005

Anonymous - 31 Mar 07 00:46
Previous exception:RSRP-33990

Wow, this happens each time.
Build370, VS2005


Anonymous - 02 Apr 07 04:04
pressed Ctrl+Q to examine the documentation preview for an enumeration that was being written
Build370, VS2005

Anonymous - 03 Apr 07 14:01
Build351, VS2005

Tom Wagner - 05 Apr 07 01:01
switching windows with ctrl-tab
Build337, VS2005

Anonymous - 09 Apr 07 19:17
Build337, VS2005

Anonymous - 10 Apr 07 17:12
CTRL-Q
Build337, VS2005

Jeffrey Odell - 11 Apr 07 02:06
^&@Q#&%$&#@%$&%$&@#$ Ctrl-Q
Build376, VS2005

Anonymous - 12 Apr 07 20:55
<ctrl>-Q on the declaration of a method
Build337, VS2005

Anonymous - 15 Apr 07 23:41
Build376, VS2005

Anonymous - 16 Apr 07 16:45
Build337, VS2005

Anonymous - 17 Apr 07 20:28
Invoked Quick Documentation

Build337, VS2005


Anonymous - 19 Apr 07 14:25
Build376, VS2005

Anonymous - 23 Apr 07 14:22
Build376, VS2005

Anonymous - 24 Apr 07 19:59
Pressed Ctrl+Q while in the XML comments for a method. This was after VS asked me to remap the key combination because of a conflict. I chose to run the ReSharper command, then got the error.
Build376, VS2005

Anonymous - 25 Apr 07 01:19
1. Installed resharpener
2. Started VS for the first time after install
3. Clicked documentation section in my code
4. Pressed ctrl + Q
=> this crash
Build376, VS2005

Anonymous - 25 Apr 07 12:17
Build376, VS2005

Anonymous - 25 Apr 07 21:42
Build376, VS2005

Alexander Egorov - 26 Apr 07 05:35
Build376, VS2005

Anonymous - 26 Apr 07 16:55
Build376, VS2005

Anonymous - 27 Apr 07 21:48
Build376, VS2005

Anonymous - 28 Apr 07 21:28
Previous exception:RSRP-34381
Build376, VS2005

Anonymous - 28 Apr 07 22:59
Build376, VS2005

Anonymous - 29 Apr 07 04:51
rarely works. Very Frustrating
Build376, VS2005

Anonymous - 04 May 07 16:26
Build376, VS2005

Anonymous - 07 May 07 11:04
Build376, VS2005

Anonymous - 12 May 07 09:38
simply selected QuickDocumentation menu item (no selection was active in document).
Build376, VS2005

Noam Honig - 13 May 07 12:12
Build370, VS2005

Anonymous - 16 May 07 00:08
Build376, VS2005

Anonymous - 16 May 07 00:09
Previous exception:RSRP-33990
Build376, VS2005

Anonymous - 16 May 07 19:56
Build376, VS2005

Anonymous - 17 May 07 17:00
Pressed ctrl-q to get documentation while the cursor is on an enum documentation tag "///".
Build370, VS2005

Anonymous - 17 May 07 18:51
Build376, VS2005

Anonymous - 21 May 07 17:21
Build376, VS2005

Anonymous - 22 May 07 21:32
Build337, VS2005

Peter Sulek - 23 May 07 18:39
Build376, VS2005

James Shute - 29 May 07 13:35
Build376, VS2005

James Shute - 29 May 07 13:38
Previous exception:RSRP-33990
Build376, VS2005

Fabian Schmied - 05 Jun 07 12:25
Used QuickDoc
Build376, VS2005

Anonymous - 05 Jun 07 19:03
This happens whenever I use the quick documentation feature (and I use it a lot) and the cursor is not on the identifier of the element with the documentation, but within the documentation comments section.
Build337, VS2005

Anonymous - 08 Jun 07 17:29
Build376, VS2005

James Shute - 11 Jun 07 14:18
Build376, VS2005

Anonymous - 11 Jun 07 18:17
Tried to get Quick Documentation

Build376, VS2005


Anonymous - 21 Jun 07 21:06
Build376, VS2005

Anonymous - 25 Jun 07 18:53
Build376, VS2005

Noam Honig - 01 Jul 07 18:27
Build376, VS2005

Michal Levy - 10 Jul 07 18:01
Pressed ctrl+q (show doc) inside of xml documentation of method
Build376, VS2005

Anonymous - 13 Jul 07 15:42
I've placed the cursor inside a documentation section, then press Ctrl+Q and exception had been thrown.
Build376, VS2005

Anonymous - 17 Jul 07 19:07
I pressed Ctrl-Q to see the Quick documentation popup.
Build376, VS2005

Anonymous - 10 Aug 07 00:42
Build337, VS2005

Rasmus - 30 Aug 07 18:47
Build376, VS2005

Anonymous - 17 Oct 07 12:15
Build376, VS2005

Anonymous - 11 Dec 07 00:34
ctrl-q to view quick documentation on a comment
ellen.stackpole@sperry.ngc.com
Build376, VS2005