【发布时间】:2016-12-17 17:45:36
【问题描述】:
让我们说:我有一个项目,这个项目使用了一个引用(office2016.dll)。 在我的项目中,我有一个 c# 类可以访问这些引用并且工作正常。
现在我想编译相同的代码,但这次使用不同的引用(office2012.dll)。 请注意,(office2016.dll 和 office2012.dll)共享我在 c# 代码中使用的相同方法和类型。 但我想为每种产品发布不同的(EXE)。一个用于 Office 2016,另一个用于 Office 2012。
是否可以在不同的引用(dll)上编译相同的 c# 代码?
一种解决方案是将我的 c# 代码复制到一个新项目中,然后添加另一个 (office2012.dll),然后再次重新编译,它可以正常工作,但我不想手动执行此操作,因为我每天都在工作这需要很多努力和专注,当然还有额外的时间,因为我真的不相信复制/粘贴代码,这实际上是一项乏味的工作!
【问题讨论】:
-
您可以使用带有文件链接的hack。创建两个项目:一个包含实际代码和对 office2016.dll 的引用。但是第二个只有第一个项目中的文件的链接,并引用了 office2012.dll。要创建链接,您需要使用按下 Alt 按钮从第一个项目中拖动文件。
-
如何给项目添加链接,我试过了但是没有办法添加链接
-
您可以按下 Alt 按钮从第一个项目中拖动。或使用添加现有项目。添加按钮具有允许选择添加为链接的下拉菜单
-
我添加了我的 c# 类,但是有一个编译错误,它无法访问代码中的引用。因为正如我在我的 c# 类中所说,我使用了对 office2016.dll 的引用,并且通过将 c# 类添加到另一个新项目中,它无法访问旧项目引用
-
1.第二个项目应该与第一个项目具有相同的引用,但 office2016.dll。如果这不起作用,则 office2016.dll 和 office2012.dll 中的类位于不同的命名空间中。解决方法:条件编译。
标签: c# .net visual-studio compilation