Как это сделать? Можно ли вызвать функцию из одного кода F # на C# без использования отдельного файла или проекта dll?Можно ли смешивать файлы .cs (C#) и .fs (F #) в одном проекте консоли Windows Visual Studio? (.NET)
Можно ли смешивать файлы .cs (C#) и .fs (F #) в одном проекте консоли Windows Visual Studio? (.NET)
ответ
Вы не можете включать два разных языка в один и тот же проект, но вы можете объединить их с помощью ilmerge. Чтобы сделать это, поместите оба проекта в одно и то же решение и обратитесь к модулю F #, как и к любой DLL. В рамках сценария развертывания запустите ilmerge, чтобы объединить файл exe и файл dll в один файл exe. См. Статью Code Project, в которой подробно описано, как использовать ilmerge для создания exe.
Нет. Если вы хотите создать один .exe, вы можете использовать некоторые из статических ссылок для ссылок на F #, используя FUNC-COM-переключатель с дополнительной информацией об этом.
Невозможно смешивать C# и F # в одном проекте создает проблему; Это приводит к циклическим зависимостям между этими двумя проектами. Концептуально существует только один проект, содержащий два языка, но из-за того, что визуальная студия управляет проектами, языки не могут быть смешаны, что приводит к циклическим зависимостям.
На данный момент это единственное решение, которое я вижу в создании большого количества интерфейсов в третьем проекте, и один из проектов относится к проекту интерфейсов, а не к реальному проекту. Есть ли лучший способ?
С наилучшими пожеланиями, Ник
Отличные комментарии и вопросы, но вы не получите большого внимания, если не опубликуете его как вопрос. –
+1 Я видел, как несколько коммерческих проектов используют ILMerge, чтобы получить C# и F # в одну и ту же сборку. Microsoft должна должным образом поддерживать ILMerge и внедрять его в Visual Studio, а не оставлять одного сотрудника для выпуска программного обеспечения для альфа-версии. –
Вы не можете скомпилировать F # исходные файлы (.fs) в C# проекта, но вы можете добавить F файлы # скрипт (.fsx), который можно использовать для ссылки и исследовать сборка C# проекта от F # интерактивными:
public static class Math
{
public static double PowN(double d, int n)
{
var result = 1;
for (int i = 0; i < n; i++) result *= d;
return result;
}
}
F файл # скрипт (.fsx):
#r "bin\debug\ClassLibrary1.dll"
Math.PowN(2.0,3)
Скомпилируйте F # код, "декомпилировать" с любым инструментом (например, отражатель, я lspy) на код C#, включите его в проект -> Прибыль!
- 1. Можно ли смешивать C++ и C в одном проекте в Visual Studio?
- 2. Код Visual Studio не форматирует файлы .cs
- 3. Можно ли смешивать C и Swift?
- 4. Файлы PowerBuilder и Visual Studio в одном проекте StarTeam?
- 5. вы можете легко смешивать в одном проекте C# и VB.aspx
- 6. Могу ли я смешивать файлы c и cpp в одном проекте на C++?
- 7. Как скомпилировать файлы CUDA C и файлы Nvidia OptiX в одном проекте Visual Studio
- 8. Можно ли смешивать x64/x86 в проекте C#?
- 9. Возможно ли иметь идентично названные исходные файлы в одном проекте visual studio C++?
- 10. Visual Studio 2013 - Открытые .aspx и .cs файлы из другого проекта в текущем проекте
- 11. Невозможно отредактировать файл .cs в Visual Studio
- 12. .NET Framework и Visual Studio
- 13. Windows Forms: Можно ли вставлять файлы .cs во время выполнения?
- 14. Можно ли создавать файлы решений Visual Studio с помощью StylusStudio?
- 15. Выполняют ли .NET-проекты в Visual Studio в одном файле?
- 16. Как перечислить имена файлов refactor/cs в крупном проекте Visual Studio Visual Studio
- 17. QT и C#: Можно ли их смешивать для мобильных разработок?
- 18. Можно ли смешивать TypeScript и ClojureScript
- 19. Можно ли смешивать UIKit и TVMLKit в одном приложении?
- 20. Используйте свои собственные классы .cs в проекте Visual Studio
- 21. Visual Studio и .NET-программирование
- 22. SharpDevelop - возможно смешение C# и VB.NET в одном проекте?
- 23. Можно ли отделить код Javascript и CSS от HTML-кода в проекте Visual Studio C++?
- 24. Visual Studio консоли C++ джойстик
- 25. версия .NET в Visual Studio
- 26. Как использовать разные файлы в проекте для разных конфигураций компоновки - Visual Studio C# .net
- 27. Можно ли смешивать несколько запросов только в одном?
- 28. Visual Studio Console Windows
- 29. F # и .Net-версии
- 30. Можно ли включить в .gitignore файлы Visual Studio * .tlog?
Стационарный коммутатор F # так же, как ильмерж. – Robert