|
Программа не содержит статического метода "Main", подходящего для точки входа.
|
|||
---|---|---|---|
#18+
Пытаюсь начать проект на базе другого проекта. [img=" https://drive.google.com/file/d/1Aj6bqJIhAmzvnZ5xahHsir2IGT0Pq7MO/view?usp=sharing%22%5D]https://drive.google.com/file/d/1Aj6bqJIhAmzvnZ5xahHsir2IGT0Pq7MO/view?usp=sharing"] Я что-то не то пишу в StartupUri, или проблема в чем то другом? RiskHedging/App.xaml: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
P.S. И, подскажите другие живые русскоязычные форумы по C# и WPF. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 17:09 |
|
Программа не содержит статического метода "Main", подходящего для точки входа.
|
|||
---|---|---|---|
#18+
StartupUri="pack://application:,,,/MainFrame;component/Views/MainWindow.xaml" Startup="App_OnStartup" на сколько я помню, можно использовать только один из этих параметров, либо 1, либо 2. 1 вызывает форму 2 вызываем метод из класс App ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 17:11 |
|
Программа не содержит статического метода "Main", подходящего для точки входа.
|
|||
---|---|---|---|
#18+
B базовом проекте такое сочетание проблем не вызывало. App.xaml: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Здесь, как мне кажется, дело в другом. App.xaml в одном пространстве имен (и сборке), а MainWindow.xaml в другом. Вопрос. Можно ли так делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2019, 18:09 |
|
Программа не содержит статического метода "Main", подходящего для точки входа.
|
|||
---|---|---|---|
#18+
Roman MejtesStartupUri="pack://application:,,,/MainFrame;component/Views/MainWindow.xaml" Startup="App_OnStartup" на сколько я помню, можно использовать только один из этих параметров, либо 1, либо 2. 1 вызывает форму 2 вызываем метод из класс AppОба можно одновременно использовать. Проверенно не раз. Сначала отрабатывает Startup потом StartupUri ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2019, 00:13 |
|
Программа не содержит статического метода "Main", подходящего для точки входа.
|
|||
---|---|---|---|
#18+
Michael Hopgarden Я что-то не то пишу в StartupUri, или проблема в чем то другом? Это по вашему коду и скрину не определишь. Нужны ваши пространства имён и в каких сборках они расположены. Поступите проще. Перенесите создание и показ component/Views/MainWindow.xaml из StartupUri в метод App_OnStartup. Это же всего две строчки кода. Зато гадать не придётся в чём проблема. Michael HopgardenP.S. И, подскажите другие живые русскоязычные форумы по C# и WPF. http://www.cyberforum.ru/wpf-silverlight/. Значительно активнее, но.... Там в основном об элементарном. Почти все начинающие, студенты. Здесь уровень экспертов гораздо выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2019, 00:22 |
|
Программа не содержит статического метода "Main", подходящего для точки входа.
|
|||
---|---|---|---|
#18+
Michael HopgardenЗдесь, как мне кажется, дело в другом. App.xaml в одном пространстве имен (и сборке), а MainWindow.xaml в другом. Вопрос. Можно ли так делать? Можно, можно. Только StartupUri здесь дело пятое - если бы были проблемы с ним, то ошибки выглядели бы как-то так: - при отсутствии сборки, в которой находится ресурс: Код: plaintext
- при отсутствии ресурса: Код: plaintext
Ошибка в заголовке темы исчерпывающе описывает причину - у запускаемой сборки отсутствует application entry point aka static void Main. И эта ошибка совсем не является специфичной для WPF. Но в WPF этот метод обычно не создают руками - он генерируется автоматически при сборке проекта. Декомпилированный App.xaml.cs выглядит как-то так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
и чтобы в нем появились все те методы с атрибутами GeneratedCode и DebuggerNonUserCode, нужно, чтобы у App.xaml в свойствах файла было выставлено Build Action = ApplicationDefinition - скорее всего, в новом проекте эта штука слетела. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2019, 06:08 |
|
Программа не содержит статического метода "Main", подходящего для точки входа.
|
|||
---|---|---|---|
#18+
Сон Веры Павловнынужно, чтобы у App.xaml в свойствах файла было выставлено Build Action = ApplicationDefinition - скорее всего, в новом проекте эта штука слетела. Свойство было выставлено, слетело, где то в другом месте. Eld HaspЭто по вашему коду и скрину не определишь. Нужны ваши пространства имён и в каких сборках они расположены. Поступите проще.Сборки соответствуют корневым папкам на скрине. Пространства имен совпадают с именами папок. Перенос в код не помог. Та же ошибка. Помогло пересоздание проекта. Вопрос. Правильно ли я вообще выбрал подход? Foundation - сборка отвечающая за сериализацию свойств авторства poemmuse с хабра. MainFrame - каркас GUI - основное окно с меню, и TabContol`ом и прочим, который можно будет использовать в других проектах. RiskHedging - там, где планируется размещать Model, VewModel, и UserConrol`ы, которые размещать в TabItem в MainFrame/Views/MainWindow Или же лучше (правилеьнее) создать наследника RiskHedging/Views/MainWindow от MainFrame/Views/MainWindow, а не создавать расширения для классов MainFrame в пространстве RiskHedging? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2019, 12:41 |
|
Программа не содержит статического метода "Main", подходящего для точки входа.
|
|||
---|---|---|---|
#18+
И еще вопрос. Разве точка входа не должна быть единственной? Т.к. если я удаляю из MainFrame или из RiskHedging любой из следующих файлов - App.xaml, MainWindow.xaml, то получаю ошибку об отсутствии метода Main. В результате в обоих пространствах у меня 2 одинаковых App.xaml и один не используемый MainWindow.xaml. И честно говоря, не понимаю где у меня точка входа. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2019, 15:06 |
|
Программа не содержит статического метода "Main", подходящего для точки входа.
|
|||
---|---|---|---|
#18+
Michael HopgardenИ еще вопрос. Разве точка входа не должна быть единственной? Т.к. если я удаляю из MainFrame или из RiskHedging любой из следующих файлов - App.xaml, MainWindow.xaml, то получаю ошибку об отсутствии метода Main. В результате в обоих пространствах у меня 2 одинаковых App.xaml и один не используемый MainWindow.xaml. И честно говоря, не понимаю где у меня точка входа. Точка входа - да, только одна. Классов с методами, сигнатура которых совпадает с сигнатурой метода точки входа - сколько угодно. Если таких методов больше одного, то : If you have more than one class that has a Main method, you must compile your program with the /main compiler option to specify which Main method to use as the entry point. For more information, see /main (C# Compiler Options). IDE задает этот флаг компилятора посредством передачи MSBuild элемента StartupObject (отдельный узел в .csproj-файле). В дизайнере свойств проекта этот элемент задается в поле Startup object на вкладке Application. И если в сборке проекта приложения действительно живет несколько методов Main, а Startup object не указан, то проект просто не получится скомпилировать - будет ошибка компиляции "CS0017 Program has more than one entry point defined. Compile with /main to specify the type that contains the entry point." ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2019, 17:52 |
|
|
start [/forum/topic.php?fid=21&msg=39842642&tid=1440317]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
118ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 282ms |
total: | 487ms |
0 / 0 |