none
如何阻止VS将引用的dll复制到本地?如何保证VS引用的dll为指定的路径? RRS feed

  • 问题

  • 问题1:使用VisualStudio2017社区版进行Unity开发时,由于使用了ILRuntime,因此业务逻辑代码不能直接在Unity中写,需要在另一个项目生成一个dll到Unity的文件夹中。

    我只需要这个dll本身,其他引用的dll都不需要复制过来,因为Unity主工程本身已经包含它们了。

    问题是,虽然在每个引用的dll属性中都确认设置了复制本地=false,但是仍然有一些dll被复制到了目标文件夹中。

    问题2:为了保证Unity工程和业务逻辑工程引用的dll一致,在业务逻辑工程中我直接复制了Unity工程中的dll引用路径,这些dll都位于Unity编辑器的文件夹中。但因为多台机器的Unity安装路径不一样,因此引用的路径不能是绝对路径。为此我创建了一个系统环境变量"UNITY_PATH",用于指定Unity编辑器的目录。同时修改了业务逻辑工程的.csproj文件的内容,使用 $(UNITY_PATH)指定引用到的dll路径。理论上这些dll应该全都是在Unity编辑器文件夹中的,但是问题1中那几个被强行复制到了本地的dll,其引用被错误地定位到了系统的.net目录中。对于这几个dll,就算是使用绝对路径也没办法让VS回心转意使用Unity编辑器路径下的文件。它们包括: System.Data.Common; System.Net.Http; System.Diagnostics.StackTrace;System.Diagnostics.Tracing;System.Globalization.Extensions;System.IO.Compression;System.Net.Sockets.

    2019年5月22日 3:56

全部回复