Должен ли я создать новую библиотеку классов с именем ViewModels и ссылаться на нее в обоих клиентских проектах, или есть лучший способ?
Да.За исключением того, что ты не можешь.Или, ну, вы можете, но вам нужны два разных типа проекта для этого.Я рекомендую использовать ярлыки в одном из проектов.
a «Библиотека классов Windows Phone» недоступна из ASP.NET, и наоборот.
Было бы целесообразно создать веб-службу, с которой общаются оба клиента?
Да, очень уместно
Или лучше получить доступ к данным через веб-проект MVC?
Вы можете разместить Интернет-сервис в вашем веб-проекте.Но отдельный сервис проще поддерживать, если у вас есть возможность его разместить.
С RestSharp вы можете легко интегрировать его с ASP.NET MVC.