You may receive an "error PRJ0008" or "Fatal error LNK1168" error message when you try to build a solution or an ActiveX project in Visual C++ (308358)



The information in this article applies to:

  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET (2003)
  • Microsoft Visual C++ .NET (2002)

This article was previously published under Q308358
Note Microsoft Visual C++ .NET 2002 and Microsoft Visual C++ .NET 2003 support both the managed code model that is provided by the Microsoft .NET Framework and the unmanaged native Microsoft Windows code model. The information in this article applies only to unmanaged Visual C++ code. Microsoft Visual C++ 2005 supports both the managed code model that is provided by the Microsoft .NET Framework and the unmanaged native Microsoft Windows code model.

SYMPTOMS

When an ActiveX control is developed in the same solution as the consuming application, you may receive a compile error similar to the following when you attempt to build your solution or ActiveX project:
CustomCtl : error PRJ0008 : Could not delete file 'C:\Documents and Settings\<your login>\My Documents\Visual Studio Projects\CustomCtl\Debug\CustomCtl.dll'.

-or-

Fatal error LNK1168: cannot open CustomCtl.dll for writing.

CAUSE

When the ActiveX control is added to the dialog box in the Resource Editor, the .NET Development Platform (NDP) Frameworks property window holds a reference to the control.

RESOLUTION

Once the control is added to the dialog box in the resource editor, close the property window and restart the integrated development environment (IDE). After you restart the IDE, do not open the property window for the control. If you do need to open the property window after you have restarted the IDE (such as to make some changes to the properties of the control), you must close the window and restart the IDE again before you compile.

STATUS

This behavior is by design.

Modification Type:MajorLast Reviewed:1/5/2006
Keywords:kberrmsg kbtshoot kbprb KB308358 kbAudDeveloper