[英]C# Adding a reference to a class in another project without referencing the project
我有两个项目:
ProjectMain是一个类库,只能编译为单个库,而不能编译为引用库。 我需要LibraryProject BUT的静态类引用,但我不想将LibraryProject程序集与ProjectMain程序集一起编译。
我曾在Visual Studio中尝试过“链接引用”,但这不是解决方案,因为库程序集始终与主程序集一起编译。
对于此问题有明确的标准解决方案,但是我受到现有实施要求的严重限制。 在执行文件夹,GAC,专用路径,反射等中没有任何依赖程序集的情况下,只能编译一个DLL。
确切的限制如下:
我想知道的是,是否有一种方法可以在另一个项目中引用一个类,而又不必编译/使用该引用的类程序集。 可能是编译器在编译时“嵌入”所引用类的方法。
如果您的沙箱不允许在AppDomain中加载其他dll,请通过嵌入自己进行加载。 您可以为此使用Costura.Fody,它易于使用/安装,只需从nuget中引用即可。
当然,将其嵌入每种情况都是疯狂的,并且常常带有完全模糊的错误,这些错误通常只能通过在regedit中启用跟踪才能解决。
因此,在您的情况下,我将创建两个项目:
MyDll.csproj //it is my original project, with perfect code design and etc. Lovely.
MyDll.Sandbox.csproj //this one is the same as MyDll.csproj, except it is compiled with additional Costura.Fody reference, into single dll (every reference is put inside)
这样,您只需要维护MyDll和MyDll.Sandbox文件是相同的即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.