Существует ли уровень абстракции .NET OS для кроссплатформенных вызовов ОС? - PullRequest
1 голос
/ 20 сентября 2008

Я действительно хочу писать .NET-приложения, которые работают на любой платформе (ПК, Linux и Mac). Я не очень обеспокоен возможностями пользовательского интерфейса, потому что это в основном фоновые сервисы. Я слышал о MONO и о том, что он позволяет вам писать приложения .NET, работающие на Mac и Linux, но я хочу иметь возможность написать одно приложение, которое при компиляции для Windows будет работать как служба, а при компиляции для Linux работать как и любой эквивалент UNIX. Я также хотел бы иметь возможность хранить вещи в реестре и иметь эту работу. Есть ли способ написать действительно независимый от ОС код, подобный этому? ... и не говорите, что я должен заставить его работать в Интернете! :)

Ответы [ 2 ]

8 голосов
/ 20 сентября 2008

Да, в Mono есть служба Windows, перенесенная на Linux, но вам придется подумать о лучшем способе сохранения настроек конфигурации, чем Registry ... Например, использование XML-файлов было бы кроссплатформенным.

Вы также должны проверить вики mono о том, как разрабатывать переносимые приложения здесь .

1 голос
/ 20 сентября 2008

Краткий ответ: нет. Вы можете создать приложение, которое будет работать как в Windows, так и в Linux. Но есть специфичные для платформы функции, и сейчас Mono не может автоматически «перевести» их для вас. Служба Windows - хороший тому пример.

...