我有一个带有两个命名空间的C#
项目。 GUI(Stoff3GUI
作为命名空间),带有GUI xaml
和.cs
文件,标记为起始对象和库(Stoff3Lib
作为命名空间),所有类都在实际执行工作
现在,当我编译代码时,我会收到.exe
个文件Stoff3GUI.exe
和.dll
Stoff3Lib.dll
。在Visual Studio中,两个名称空间都是同一项目的一部分。
如何在不生成单独的Stoff3Lib
文件的情况下将.exe
中的类编译到.dll
文件中?
修改
将xxx
更改为我的项目名称Stoff3,以便更好地理解。
答案 0 :(得分:0)
如果两个名称空间都属于同一个项目,那么您应该只能获得一个程序集。
这可能与Web项目设置不同(各种不同风格的Web项目以时间和方式创建程序集,我从未理解)但是对于独立的可执行项目,它实际上是“一个项目产生一个程序集”在所有情况下到目前为止我知道。仔细检查您实际上只有一个项目 - 例如,项目中不应该有任何引用到xxxLib
程序集。
答案 1 :(得分:0)
我不完全确定你在这做什么。听起来你可能只有一个带有两个项目的“解决方案”我的想法只是将你想要的类移到GUI启动项目中并删除另一个项目。
答案 2 :(得分:0)
我相信你真正拥有的是1个带有2个项目的Visual Studio解决方案。
由于一张图片值1000字,只是为了清理术语,这就是VS2012中的样子:
此解决方案的输出正是您所描述的:
实现所需内容的最简单方法是拥有一个包含2个不同命名空间的VS项目。最好添加符合预期命名空间结构的文件夹,例如Stoff3GUI和Stoff3Lib:
编译此解决方案时,输出将是单个EXE,但您仍然可以在文件夹/文件结构中非常清晰地保持模型和视图命名空间的分离: