C
Conor Maguire
Folks,
We have a C# method which we register as part of a class for COM Interop:
public void send(string contents, string filepath ,string filename)
{
}
The type library produced for the assembly contains the following method
information:
void send(
[in] BSTR contents,
[in] BSTR FilePath,
[in] BSTR FileName);
Notice how the original parameters filename and filepath have been changed
to FileName and FilePath.
This is breaking all of our COM bindings in a significant amount of XLANG
schedules as the parameter messages need re-created. We cannot afford to do
this.
Also notice how the parameter signiature has not been changed.
Builds over 2 weeks have been fine through VS.NET, because older DLLS from
our SourceSafe database actually compile for InterOp correctly using
TBLEXP.exe - i.e. the com interfaces get generated with lowercase letters.
Very confused! Can anyone suggest a solution for this, as we now cannot
deploy new codebases to production.
Thanks in advance,
Conor
We have a C# method which we register as part of a class for COM Interop:
public void send(string contents, string filepath ,string filename)
{
}
The type library produced for the assembly contains the following method
information:
void send(
[in] BSTR contents,
[in] BSTR FilePath,
[in] BSTR FileName);
Notice how the original parameters filename and filepath have been changed
to FileName and FilePath.
This is breaking all of our COM bindings in a significant amount of XLANG
schedules as the parameter messages need re-created. We cannot afford to do
this.
Also notice how the parameter signiature has not been changed.
Builds over 2 weeks have been fine through VS.NET, because older DLLS from
our SourceSafe database actually compile for InterOp correctly using
TBLEXP.exe - i.e. the com interfaces get generated with lowercase letters.
Very confused! Can anyone suggest a solution for this, as we now cannot
deploy new codebases to production.
Thanks in advance,
Conor