c# - C#如何将一个程序编译成不同的项目

标签 c# .net visual-studio compilation

这么说吧:我有一个项目,这个项目使用了一个引用(office2016.dll)。 在我的项目中,我有一个 c# 类可以访问这些引用并且工作正常。

现在我想编译相同的代码,但这次使用不同的引用 (office2012.dll)。 请注意,(office2016.dll 和 office2012.dll)共享我在 c# 代码中使用的相同方法和类型。 但我想为每个产品发布不同的(EXE)。一个用于 Office 2016,另一个用于 Office 2012。

是否可以在不同的引用 (dll) 上编译相同的 c# 代码?

一种解决方案是将我的 c# 代码复制到一个新项目中,然后添加另一个 (office2012.dll),然后再次重新编译,它可以正常工作,但我不想手动执行此操作,因为我每天都在工作这需要很多努力和专注,当然还有额外的时间,因为我真的不相信复制/粘贴代码,这实际上是一项乏味的工作!

最佳答案

您可以在同一文件夹 中创建项目文件(.csproj)的副本,然后将复制的项目包含在您的解决方案中。然后,您可以为每个项目选择正确的引用文献。确保转到项目属性并为每个项目选择自定义程序集名称和/或输出文件夹(即 myoffice2012app.exe 和/或 bin/Release2012)。

之后添加的任何代码文件都必须包含在每个副本中,但是通过选择“显示所有文件”可以简化此操作:

enter image description here

右键单击新文件并选择“包含在项目中”——但除了必须将每个代码文件分别添加到每个项目之外,您可以根据需要随时构建解决方案,而无需进一步需要的步骤。

关于c# - C#如何将一个程序编译成不同的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41201344/

相关文章:

c# - 在 C# 中使用 DI 登录到控制台

c# - Selenium 在文本框中输入无效文本(半文本)

javascript - 我可以让 Visual Studio 2008 中的 C# 代码编辑器显示行分隔方法吗?

visual-studio - Windows Phone 部署问题

c# - 如何更新标签中的文本

c# - 单元测试数据库修改函数?

c# - tlbexp.exe 更改方法名称的大小写

c# - 我应该在编写任何锁之前对多线程问题进行单元测试吗?

.net - 是否可以将 Powershell 变量设置为固定的 N 个字符?

.net - 无法从程序集 'ServiceStack.Redis,Version=3.9.48.0,Culture=neutral,PublicKeyToken=null 加载类型 'ServiceStack.Redis.RedisSentinel'