对于 Microsoft Visual Studio IDE 中的 Visual C# 项目,要使用什么配置设置,以便它可以生成 exe 和 dll 输出?
问问题
2138 次
3 回答
2
使用nant可以轻松实现您想要的。您必须创建一个简单的 xml 文件,该文件是脚本,并且可以通过批处理文件轻松执行。一旦你创建了它们,就很容易不再需要手动工作,每次你需要构建项目时,你所要做的就是执行脚本。
这是一个关于nant的优秀教程。
于 2012-06-13T09:45:22.203 回答
0
正如达林在评论中指出的那样,没有设置可以做到这一点。但是,您可以通过构建事件和批处理脚本来实现它
- 在 dll 项目上创建预构建事件以调用批处理脚本
- 在批处理中,复制 dll 项目的 csproj
- 修改复制的csproj的xml内容,将输出类型改为exe
- 修改复制的csproj的输出目录
- 在 Visual Studio 中运行它
您现在将获得生成的 csproj 的副本,该副本将输出到 exe。您可以将第二个 csproj 添加到 Visual Studio 中,每次构建时,它应该同步 exe csproj 并构建它。
一些技巧:
于 2012-06-13T09:36:52.543 回答
0
我知道这是一个老问题,但是可以在 proj 文件中做很多在用户界面中无法做到的事情。
对于这个特定问题,您只需这样做:
- 创建一个新的项目配置,例如 ReleaseExe
在项目的 csprojfile 中,您将找到以下行
<OutputType>Library</OutputType>
在该行之后添加以下行
<OutputType Condition="'$(Configuration)|$(Platform)' == 'ReleaseExe|AnyCPU'">Exe</OutputType>
保存,打开项目并使用批量构建来构建dll和exe
好处是您可以Condition
在项目文件中的所有标签上使用该属性。我有一个项目,我需要根据不同的第 3 方程序集创建两个版本。为了解决这个问题,我只需向引用标签添加一个条件。
<Reference Include="3rdParty" Condition="'$(Configuration)|$(Platform)' == 'Release1|AnyCPU'">
<HintPath>Release1\3rdParty.dll</HintPath>
</Reference>
<Reference Include="3rdParty" Condition="'$(Configuration)|$(Platform)' == 'Release2|AnyCPU'">
<HintPath>Release2\3rdParty.dll</HintPath>
</Reference>
于 2013-01-16T07:36:33.260 回答