As of this morning following these updates last night;
Security Update for Microsoft .NET Framework, Version 2.0 (KB928365)
Security Update for Microsoft .NET Framework, Version 1.1 Service Pack 1 (KB928366)
Code that compiled just fine a couple of days ago now causes the following
1>------ Build started: Project: tsapi_form_test, Configuration: Debug Win32 ------
1>Compiling...
1>tsapi_form_test.cpp
1>c:\working\visualc++\projects\tsapi_form_test\tsapi_form_test\Form1.h(36) : fatal error C1001: An internal error has occurred in the compiler.
1>(compiler file 'msc1.cpp', line 1392)
1> To work around this problem, try simplifying or changing the program near the locations listed above.
1>Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
1> This diagnostic occurred while importing type 'System::Runtime::InteropServices::InvalidOleVariantTypeException ' from assembly 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
1> This diagnostic occurred while importing type 'System::Runtime::InteropServices:llImportAttribute ' from assembly 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Line 36 is the call to DllImport
#pragma
once
namespace
tsapi_form_test {usingnamespace System;usingnamespace System::ComponentModel;usingnamespace System::Collections;usingnamespace System::Windows::Forms;usingnamespace System:ata;usingnamespace System:rawing;// For DllImportusingnamespace System::Runtime::InteropServices;/// <summary>/// Summary for Form1////// WARNING: If you change the name of this class, you will need to change the/// 'Resource File Name' property for the managed resource compiler tool/// associated with all .resx files this class depends on. Otherwise,/// the designers will not be able to interact properly with localized/// resources associated with this form./// </summary>publicrefclass Form1 : public System::Windows::Forms::Form{
public:Form1(
void){
InitializeComponent();
////TODO: Add the constructor code here//}
private: [DllImport( "CSTA32.DLL", CallingConvention=CallingConvention:tdCall )]staticint acsOpenStream(ACSHandle_t FAR *acsHandle,
InvokeIDType_t invokeIDType,
InvokeID_t invokeID,
StreamType_t streamType,
ServerID_t FAR *serverID,
LoginID_t FAR *loginID,
Passwd_t FAR *passwd,
AppName_t FAR *applicationName,
Level_t acsLevelReq,
Version_t FAR *apiVer,
unsignedshort sendQSize,unsignedshort sendExtraBufs,unsignedshort recvQSize,unsignedshort recvExtraBufs,PrivateData_t FAR *priv);
Now this app. has had quite a bit of work done on it and I have an example program running downstairs that does a screen pop on an incomming phone call so, as you can imagine i wouldn't have gotten very far if these calls to dllimport had been causing internal compiler errors all along :-P
I intend to roll back the security updates to verify the problem but thought I would post here in case it helps anyone else in the same boat. Will post results if I get no immediate feedback here.
Microsoft Visual Studio 2005
Version 8.0.50727.42 (RTM.050727-4200)
Microsoft .NET Framework
Version 2.0.50727
Installed Edition: VC Express
Microsoft Visual C++ 2005 76542-000-0000011-00125
Microsoft Visual C++ 2005
XP Pro service pack 2
Creating temporary file "c:\working\visualc++\projects\tsapi_form_test\tsapi_form_test\Debug\RSP00000138401180.rsp" with contents [ /Od /D "WIN32" /D "_DEBUG" /D "_UNICODE" /D "UNICODE" /FD /EHa /MDd /Yu"stdafx.h" /Fp"Debug\tsapi_form_test.pch" /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W3 /c /Zi /clrure /TP /FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll" /FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll" /FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll" /FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll" /FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.XML.dll"".\tsapi_form_test.cpp" ] Creating command line "cl.exe @"c:\working\visualc++\projects\tsapi_form_test\tsapi_form_test\Debug\RSP00000138401180.rsp" /nologo /errorReportrompt"