Visual Studio 项目:如何仅包含一种配置的参考?
- 作者: 超神罗天征
- 来源: 51数据库
- 2023-02-13
问题描述
环境:VS2008 C# 项目
Env.: VS2008 C# project
我需要构建我的应用程序以在 2 个不同的环境中使用.在其中一种环境中,我需要使用第 3 方 DLL 程序集.
I need to build my app for use in 2 different environments. In one of those environments, I need to use a 3rd party DLL assembly.
我可以使用#if 块隔离使用此 DLL 的代码.但是如何有条件地在 CS 项目文件中包含对 DLL 的引用呢?
I could isolate the code that uses this DLL using #if blocks. But how do I conditionally include the reference to the DLL in the CS project file?
womp 在他的评论中有一个很好的观点.我变成了一个单独的问题:如果从未调用过引用的DLL,它会被加载吗?TIA,
womp has a good point in his comment. I turned into a separate question: Will the referenced DLL be loaded at all if it's never called? TIA,
推荐答案
卸载项目并以.XML格式打开
Unload the project and open it as .XML
找到引用项标签并添加条件属性.
Locate the reference item tag and add a Condition attribute.
例如:
<ItemGroup> <Reference Include="System.Core"> <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference> <Reference Include="System.Data" /> <Reference Include="System.Drawing" /> <Reference Include="System.Xml" /> <Reference Include="MyUtilities.Debug" Condition="'$(Configuration)'=='Debug'"/> </ItemGroup>
注意最后一个引用现在有一个条件.
Notice the last reference now has a condition.
- C#通过fleck实现wss协议的WebSocket多人Web实时聊天(附源码)
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源









