C# 依赖配置的程序集引用

C# 依赖配置的程序集引用,c#,.net,visual-studio,C#,.net,Visual Studio,我有一个从DSL生成的程序集,我需要从我的项目中引用它 但是,我希望从调试项目配置中引用调试程序集,并从发布中引用发布 有可能实现吗?那么,将DSL生成的程序集添加为构建事件-这样,您就可以生成正确的程序集版本(调试/发布)。配置名称以宏[$(ConfigurationName)]的形式提供。此外,如果程序集已经生成且DSL尚未修改,则您必须在此类命令行中保持智能,以跳过程序集生成—这意味着您需要根据配置拥有不同的中间目标位置,然后从该位置复制到其他主位置(如果文件已修改)。另一个位置是您将在项

我有一个从DSL生成的程序集,我需要从我的项目中引用它

但是,我希望从调试项目配置中引用调试程序集,并从发布中引用发布


有可能实现吗?

那么,将DSL生成的程序集添加为构建事件-这样,您就可以生成正确的程序集版本(调试/发布)。配置名称以宏[
$(ConfigurationName)
]的形式提供。此外,如果程序集已经生成且DSL尚未修改,则您必须在此类命令行中保持智能,以跳过程序集生成—这意味着您需要根据配置拥有不同的中间目标位置,然后从该位置复制到其他主位置(如果文件已修改)。另一个位置是您将在项目中引用程序集的位置。

好的,那么我发现了。。。可以在项目文件中手动编辑程序集引用,将$(配置)替换为“调试”/“发布”路径部件。它可以正常工作。

如果两个项目都在同一个解决方案中,则会自动工作。此程序集由外部编译器从DSL生成。在发布前阅读。“外部编译器”只是出现在您的回复评论中,所以我不认为John在回复中是错的-考虑到VS SDK DSL工具与VS集成良好,并且您可以在同一解决方案中拥有基于DSL的项目和“普通”项目。因此,也许您需要在问题中添加更多关于DSL工具/编译器的细节。例如,如果DSL构建已经过时,您希望构建过程如何工作?我写的是引用的程序集,而不是引用的项目。这是很大的区别。和停止点乞讨。在这种情况下,切换配置后生成将创建具有错误版本生成的程序集的项目。不能说我非常喜欢这个解决方案,但如果没有更好的解决方案,它应该可以工作。@user536232,我曾建议在特定于配置的文件夹(例如Obj\Debug\dsl.dll、Obj\Release\dsl.dll)中创建生成的程序集,然后将它复制到say bin文件夹,从该文件夹引用它。因此,切换配置并不重要,因为您将始终从特定的配置文件夹复制程序集。