私はこの特定の機能を何ヶ月も使用していますが、今日は機能しなくなりました。理由は想像できませんし、否定するつもりもありません。何かアイデアがあれば教えてください。
私はそのような方法で関数をロードしています:
[DllImport("kernel32")]
private static extern int GetPrivateProfilestring(string section, string key, string def, StringBuilder retVal, int size, string filePath);
そして、私はそれをこのように使用しようとします:
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfilestring(Section, Key, "", temp, 255, strPath);
return temp.ToString();
前述のように、これは何年にもわたって機能していましたが、今後はこの例外がスローされます。
System.EntryPointNotFoundException: DLL 'kernel32' で 'GetPrivateProfilestring' という名前のエントリ ポイントが見つかりません
なぜこれが起こるのでしょうか?dllが変更された可能性はありますか(Windows Updateなどによって)?もう見つからないだけかもしれませんが、その場合、例外は異なりますか? これはありそうもないことですが、これは常に機能しており、ソースコードは変更されていないため、何も排除しないと言ったように...
更新: 奇妙なことに、大文字化が役に立ちましたが、現在は機能しているようです。しかし、なぜこれが起こったのか、そしてなぜ今起こったのか、私はまだ興味がありますか? 私はそれが今何ヶ月も働いたことを保証することができます.
エラーは私のマシンでのみ発生したため(とにかく私が知る限り)、それを変更してソフトウェアをどこでも更新することを少し恐れていますが、古い方法はさまざまな PC と構成で 6 か月以上にわたって運用されています。 .