我想更改我的统一项目的“csproj”文件,以便能够访问特定的库this https://stackoverflow.com/questions/5694/the-imported-project-c-microsoft-csharp-targets-was-not-found答案表明。
我正在手动编辑文件,但每次重新加载项目时,“csproj”文件都会返回到其初始状态。
这是一个常见问题吗?有没有办法避免这种情况并永久更改文件?
编辑:我的目标是使用CSharpCodeProvider因此,如果有另一种方法可以在不更改“csproj”文件的情况下完成此操作,我将很乐意采用该方法
据我所知,您无法阻止 Unity 在重新编译脚本时覆盖您的 csproj 文件。
当使用较大的代码库和 Unity3D 时,我倾向于将大部分代码放入单独的 .Net 程序集 (DLL) 中。当我在多个项目和游戏服务器之间共享代码时,这对我很有帮助,并且 Unity 在检测到更改时不需要编译所有脚本。
为此,启动您选择的 .Net IDE 并创建一个新的类库项目(将输出 .dll)。确保它的目标是.Net框架3.5或更低。然后,将输出 .dll 复制到 Unity 项目中Assets构建后步骤中的文件夹。我喜欢使用构建后步骤来防止我忘记在更改后复制程序集。
项目中的DLLAssetsUnity 创建 C# 项目时会自动引用该文件夹。这意味着所有包含的代码都可以在您的脚本中使用。但请注意,相反的方法不会那么容易:您不能在单独的项目中使用 Unity 脚本中的代码。
取决于你到底想做什么CSharpCodeProvider https://msdn.microsoft.com/en-us/library/microsoft.csharp.csharpcodeprovider(v=vs.110).aspx你可以把你的生成逻辑(以及必要的Import
指令)到这样一个单独的项目中。
编辑:有关我们如何设置项目结构的更多信息,您可以观看这次演讲 https://www.youtube.com/watch?v=ndt1crp9i7M由 Unite11 的《Jagged Alliance Online》首席程序员编写。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)