![]() |
1
11
我通过处理.csproj文件来完成这项工作:要么将属性移动到特定于配置的属性组中,要么只使用条件。例子:
当您开始像这样处理.csproj时,Visual Studio会变得有些残废-例如,我不能再使用f5/f10在调试模式下运行项目;它告诉我找不到“myapp.exe”(即,调试器尝试使用错误的assemblyname启动程序集)。 |
![]() |
2
3
确实可以添加后期生成事件来重命名程序集。如果您的解决方案只有一个程序集,这将起作用。 但是,如果您的解决方案由多个项目组成,那么通常会有一个项目引用由另一个问题生成的程序集。假设您的解决方案有两个项目:第一个项目创建Windows窗体exe(myapp.exe),它引用由第二个项目(mydata.dll)创建的程序集。 在此示例中,调试exe将命名为myappdebug.exe,它需要引用mydatadebug.exe。这对于在后期生成事件中重命名也不起作用。 因此,我强烈建议不要进行任何重命名。 |
![]() |
3
2
如果您完全有信心这样做,那么您可以在assemblyinfo.cs文件中这样做:
然而,这几乎是一个黑客。此外,msdn文档非常清楚,在加载程序集时甚至不考虑文件名,因此进行简单重命名不会更改程序集的整体标识。 如上所述,这通常是一个坏主意,因为它只会带来混乱和维护问题。如果只需执行生成后操作重命名文件:
然后,您还没有真正更改程序集的标识,只更改了文件名。您可以将其命名为bob.dll,并且对于clr,它仍然具有相同的标识。唯一重要的时间是,当您使用将部署到GAC的强名称程序集时。在这种情况下,你 不能 文件名与程序集名不同。 如果您真的要重命名程序集名称,而不仅仅是文件名,那么您手上还有另一个问题,因为它现在与CLR是完全不同的程序集。 我认为你最好遵守现有的标准。如果你发现自己不得不做一些非常奇怪的事情,也许你应该问问自己为什么你要这么做。可能有更好的解决方案。 |
![]() |
4
1
我已经通过使用后期构建脚本实现了我所追求的目标:
我的ftp脚本在末尾基本上接受了一个可选参数,这就是上传文件的方式。因此,在我的本地计算机上,文件名总是相同的,但是在调试模式下,我们在文件名末尾用“debug”上载它。现在我可以在我的网页上选择要显示的版本。 |
![]() |
Willy · LINQ:将分组列表转换为新列表 7 年前 |
![]() |
Kapil · 如何使用参数设置脚本任务SSI的路径 8 年前 |
![]() |
c00000fd · 跨命名空间和不同的.H文件的友元类 8 年前 |
![]() |
tangoal · 调用模板类成员时非法使用此类型作为表达式 8 年前 |