Проблема с WebSharper при запуске

Итак, я рассматривал разработку приложений RIA или MVC с использованием F# и увидел, что есть два варианта:

  1. FunScript
  2. WebSharper

У меня есть версия Visual Studio 2012, и это студенческая версия. Поэтому я просто перешел по ссылке для начала здесь

Теперь, следуя инструкциям, я не могу получить тестовую страницу. Поэтому мне понадобятся некоторые указания/помощь, чтобы продолжить. Так вот что происходит:

  1. После создания Sitelets веб-приложения с помощью нового проекта я получаю сообщение об ошибке на странице Site.fs. Это дает тот же «модуль или пространство имен не определены». Поэтому я пытаюсь использовать Manage NuGet References для загрузки ссылок для WebSharper, и это устраняет ошибку. Теперь я уже установил WebSharper на свою машину. Разве не должен быть простой способ связать библиотеки WebSharper. Если да, то как я могу это сделать? Что я здесь делаю не так.

  2. После решения проблемы я следую коду начала работы до последней строки на этой странице и получаю сообщение об ошибке в этом примере кода:

let HomePage = Template "HomePage" <| fun ctx -> [ Div [Text "HOME"] Links ctx Div [new Controls.HelloControl()] ]

По сути, странице не нравится добавленный новый Div [ new Controls.HelloControl()], и поэтому она выдает ошибку.

Я новичок в технологиях Microsoft и даже в Visual Studio IDE. Я привык к Eclipse, и понять, как он работает, никогда не было проблемой. Но я совершенно не знаю, как заставить эту работу работать.

В конце у меня также есть вопрос о том, где я могу найти обновленную документацию по достойному введению как в FunScript, так и в WebSharper.


person N00bsie    schedule 17.07.2013    source источник
comment
Хорошо, я нашел способ обойти эту проблему, теперь все, с чем я застрял, это эта проблема. Когда я нажимаю F5 для запуска приложения, я получаю сообщение об ошибке. Проект с типом вывода библиотеки классов не может быть запущен напрямую. Теперь я возился со свойствами, чтобы попытаться изменить его как на приложение Windows, так и на консольное приложение, я тоже не думаю, что это правильный путь. Мне просто нужно выяснить, как запустить это сейчас.   -  person N00bsie    schedule 17.07.2013
comment
Если вы выяснили, как обойти эту проблему, опубликуйте ответ, чтобы помочь всем, у кого возникнет такая же проблема в будущем. Вы также можете отредактировать свой вопрос с помощью обновлений.   -  person John Palmer    schedule 17.07.2013
comment
Я имел в виду, что у меня больше нет ошибок, но я понятия не имею, как его запустить. Возможно, вы могли бы подсказать мне, как запустить это приложение сейчас. Я немного не в курсе. Я просто опубликую то, что я сделал. Я думаю, это просто я новичок и пытаюсь понять это.   -  person N00bsie    schedule 17.07.2013
comment
Моя репутация также довольно низкая, поэтому я не могу опубликовать ответ. Однако я до сих пор не понял, как запустить пример. Так что я все еще застрял там.   -  person N00bsie    schedule 17.07.2013
comment
Это звучит неправильно, вы всегда должны иметь возможность публиковать ответы, хотя может быть ограничение по скорости   -  person John Palmer    schedule 17.07.2013
comment
@ N00bsie F# чувствителен к отступам. Когда вы вытаскиваете образец кода на F#, будьте очень осторожны, чтобы убедиться, что пробелы сохранены.   -  person Onorio Catenacci    schedule 17.07.2013


Ответы (1)


Что касается оригинальной проблемы, проблема связана с образцом на веб-сайте — каким-то образом пробелы были съедены, код должен быть таким:

let HomePage =
    Template "HomePage" <| fun ctx ->
        [
            Div [Text "HOME"]
            Links ctx
            Div [new Controls.HelloControl()]
        ]

Теперь для «Проект с типом вывода библиотеки классов не может быть запущен напрямую»:

Решение состоит из двух проектов: веб-проекта C#, в котором размещено веб-приложение, и проекта библиотеки F#, содержащего фактический код. Все, что вам нужно сделать, это щелкнуть правой кнопкой мыши проект C# в обозревателе решений и выбрать «Установить как запускаемый проект». Таким образом, когда вы нажимаете «F5», вместо того, чтобы пытаться запустить проект библиотеки F#, он запускает веб-проект.

person Tarmil    schedule 17.07.2013
comment
Большое спасибо @Tarmil. Я понял часть кода, но все еще искал, как запустить код. Это решило много проблем. Спасибо! - person N00bsie; 17.07.2013