在使用 Visual Studio 2015 的 Windows 上,我可以使用dnu build
. 该project.json
文件如下所示:
{
"version": "1.0.0-*",
"description": "My Class Library",
"authors": [ "Class Library template" ],
"tags": [""],
"projectUrl": "",
"licenseUrl": "",
"tooling": {
"defaultNamespace": "Common"
},
"frameworks": {
"dnx451": { },
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-*",
"System.Collections": "4.0.11-beta-*",
"System.Linq": "4.0.1-beta-*",
"System.Runtime": "4.0.21-beta-*",
"System.Threading": "4.0.11-beta-*"
}
}
}
}
安装后,mono
在Mac 上,按照本教程,我实际上可以在 OSX 上编译相同的项目!这本身就已经非常棒了!dnvm
dnx
现在,我将以下框架添加到我的project.json
文件中:
"frameworks": {
"dnx35": { }, //"net35"
"dnx451": { },
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-*",
"System.Collections": "4.0.11-beta-*",
"System.Linq": "4.0.1-beta-*",
"System.Runtime": "4.0.21-beta-*",
"System.Threading": "4.0.11-beta-*"
}
}
这仍然可以在 Windows 上编译,并按预期生成三组 dll。
但是,在 OSX 上,它不会构建 dnx20 目标。尽管据我了解,单声道编译器mcs
可以.net35
通过传入sdk
参数来设置为目标。
所以我的问题是:我可以在 OSX 上使用单声道来定位 .NET35 和 dnx 吗?
编辑
这个问题的目标是编译一组可以导入 Unity3d 的 dll。而且因为 Unity3d 使用 mono 作为运行时,我希望能够通过使用来做到这一点dnu build
,以便能够在任何平台上开发这些 dll。