我的解决方案中有两个C#项目,两个都是DLL:
我的设置过程保证在任何给定时间只安装其中一个。无论哪个,当用户运行应用程序时,MyApp.exe引导程序都会将其选中。
由于两个DLL都包含相同的入口点,因此我想保持引导程序的通用性:
class Bootstrapper
{
static void Main()
{
var asm = Assembly.Load("MyApp.UI");
// Execute the UI entry point here.
}
}
这意味着我必须在项目选项中为两个DLL提供相同的程序集名称:“MyApp.UI”。问题是MSBuild使用程序集名称作为输出名称,这给我带来了冲突。
是否有可能说服MSBuild使用不同的文件名,例如:项目名称?
答案 0 :(得分:2)
您可以在构建中添加<PostBuildEvent>
,将输出程序集重命名为通用名称。
答案 1 :(得分:1)
这将是CoreCompile任务的一个功能,您必须覆盖它以修改csc上的/ out开关。这不是推荐的做法,但会实现您的目标。