使用编译的/ clr打开可执行文件时的CFileException :: sharingViolation

时间:2011-12-14 08:56:14

标签: c++ .net c++-cli

我的遗留MFC应用程序打开自己的可执行文件进行读取(计算其哈希码以使篡改更加困难)。为此,它使用

CFile f( sExecFileName, CFile::modeRead | CFile::typeBinary );

当我使用/ clr标志编译应用程序,或者甚至其中一小部分不包含此代码时,此行开始使用couse CFileException抛出CFileException::sharingViolation。仅当我编译“调试”而不是“发布”,但即使没有附加调试器,也会发生此行为。是什么导致这种情况以及如何解决?

免责声明:我的C ++几乎和我的中文一样好(而且我不是来自中国)。对不起,如果这个问题很简单。

1 个答案:

答案 0 :(得分:0)

正如Hand Passant在评论中所述,我错过了CFile::shareDenyNone