将C#项目编译为Unity3d的DLL

时间:2015-12-16 01:00:47

标签: c# unity3d

据我所知,C#项目可以以2种形式添加到Unity3d中。作为DLL或未编译的项目。

两者的优点和缺点是什么?他们会跨平台工作(Android / iOS / WinPhone)吗?

要编译为DLL - 我只是将MonoDevelop或Visual Studio用于新的类库项目并选择.NET 3.5并编译吗?

如何将未编译的项目添加到Unity3d?

3 个答案:

答案 0 :(得分:1)

  

他们是否可以使用跨平台(Android / iOS / WinPhone)?

是。您可以在Xamarin Studio / MonoDevelop /或Visual Studio中创建库项目。如果您不包含特定于平台的功能,那么它将是跨平台的。

  

编译为DLL - 我只是将MonoDevelop或Visual Studio用于新的类库项目并选择.NET 3.5并编译吗?

请参阅此tutorial

答案 1 :(得分:1)

当您在IDE(例如Visual Studio)中打开Unity项目时,它是一个包含两个项目的解决方案,一个用于游戏脚本,另一个用于编辑器脚本。您可以通过所选的IDE向解决方案添加更多项目。为了使其工作,您需要将项目目标框架设置为与Unity(使用Mono的子集)兼容的项目,例如Unity 3.5 .net完整基类库。不幸的是,不支持.NET PCL。

您可以像往常一样在任何项目中引用您的(或第三方)库,只需记住它也必须与Unity兼容。

您的代码可以在所有平台上运行,实际上取决于您使用的内容。有关平台的具体限制,请参阅http://docs.unity3d.com/Manual/PlatformSpecific.html

答案 2 :(得分:1)

那么一个帖子里的问题太多了。尝试逐一回答: Unity Offical Docs提供了很多帮助:

问题

据我所知,C#项目可以以2种形式添加到Unity3d中。作为DLL或未编译的项目。 要编译为DLL - 我只是将MonoDevelop或Visual Studio用于新的类库项目并选择.NET 3.5并编译吗?

  

通常,脚本作为源文件保存在项目中并由其编译   每当源更改时Unity。但是,也有可能   使用a将脚本编译为动态链接库(DLL)   外部编译器。然后可以将生成的DLL添加到项目中   它包含的类可以附加到对象上   正常的脚本。

     

使用脚本通常比使用Unity中的DLL更容易。   但是,您可以访问第三方Mono代码   以DLL的形式提供。在开发自己的代码时,您可以   能够使用Unity不支持的编译器(例如F#)   将代码编译为DLL并将其添加到Unity项目中。也,   您可能希望在没有源的情况下提供Unity代码(对于资产   存储产品,比如说)和DLL是一种简单的方法。   More

有什么利弊

关于dll:

赞成

  • 您可以单独构建DLL。
  • 重新构建一个DLL可能会更快

缺点

  • 从DLL调用代码的速度较慢
  • 使用所有DLL重新构建漏洞项目会更慢
  • 功能名称可见。逆转使用的代码更容易 动态DLL 您可以在herehere以及我们最好的朋友Google上找到更多信息:)

如何将未编译的项目添加到Unity3d? Ans:未编译的项目是什么意思?你的意思是脚本?那么它通常只是复制\粘贴在资产文件夹内。