【发布时间】:2009-06-04 22:37:30
【问题描述】:
我有项目 X,可以编译成 X.exe
我有项目 Y,它引用了项目 X,并编译为:Y.exe; Y.dll
我构建项目 X 的解决方案,发布文件夹有:X.exe
我构建项目 Y 的解决方案,发布文件夹有:X.exe, Y.exe, Y.dll
如何删除项目 Y 中多余的 X.exe?
【问题讨论】:
标签: .net visual-studio msbuild build-process build
我有项目 X,可以编译成 X.exe
我有项目 Y,它引用了项目 X,并编译为:Y.exe; Y.dll
我构建项目 X 的解决方案,发布文件夹有:X.exe
我构建项目 Y 的解决方案,发布文件夹有:X.exe, Y.exe, Y.dll
如何删除项目 Y 中多余的 X.exe?
【问题讨论】:
标签: .net visual-studio msbuild build-process build
即使在技术上可行,但引用 exe 的做法并不常见……您通常引用 DLL 我要做的是将公共部分提取到类库项目中,并在两个可执行文件中引用生成的 DLL
【讨论】:
您在项目 Y 的输出目录中有“额外”的 exe(我假设您是指项目 X 的编译输出),因为您在项目中添加了对它的引用。如果您不需要对它的引用,请删除该引用,它将不会出现在输出目录中。如果您确实需要对它的引用,则需要存在该 exe,否则您的 Y.exe 将无法正常运行。
【讨论】:
调出 exe 引用的属性并将 copy-local 设置为 false。
【讨论】:
简单回答: 你不能,因为你在 Y 中使用 X.exe 程序集。
使用ILMerge 可能会有所帮助(将 X.exe 合并到 Y.exe)
正确答案: 您必须重构将 X 功能拆分为可重用的类项目和使用它的可执行文件。
你不能。你在引用
【讨论】: