я побежал анализ кода на полезности я сохранении, и посоветовал мне изменить это:Почему анализ кода в VS2013 RC приводит меня в коробку?
private static extern int ReadMenu1File(string Menu1Path);
... к этому:
private static extern int ReadMenu1File(UnmanagedType.LPWStr Menu1Path);
... с этим словоблудием: " Укажите маршалинг для аргументов строки P/Invoke Чтобы уменьшить риск безопасности, укажите параметр «Menu1Path» как Unicode, установив DllImport.CharSet в CharSet.Unicode или явно маршалируя параметр как UnmanagedType.LPWStr. Если вам нужно маршевать эту строку как ANSI или зависит от системы, явно укажите маршалы и установите BestFitMapping = false; для дополнительной безопасности также установите ThrowOnUnmappa bleChar = True «.
... но когда я сделал, он говорит, «Имя типа„LPWSTR“не существует в типе„System.Runtime.InteropServices.UnmanagedType“» и "«System.Runtime.InteropServices. UnmanagedType.LPWStr 'является «полем», но используется как «тип» «
Пополнение кода не помогает (никаких предложений после ввода« UnmanagedType. ») И нет опции контекстного меню, чтобы добавить отсутствующий, используя ,
В чем именно * был создан оригинальный совет? –
Обновлено. –