如何在visual studio 2013中禁用mscorlib.dll

本文关键字:mscorlib dll 2013 visual studio | 更新日期: 2023-09-27 18:28:16

我试图在visualstudio2013中使用一个自定义标准库,但似乎无法解决。虽然我希望能够利用IDE中的intelligense,但使用/nostlib在命令行上编译没有问题。除了我的自定义corelib之外,我已经删除了所有引用,并且由于有两个mscorlib变体,我得到了冲突的代码错误。

VS文档中写道:

在Visual Studio开发环境中设置此编译器选项

  1. 打开项目的"属性"页面。

  2. 单击构建属性页面。

  3. 单击高级按钮。

  4. 修改不引用mscorlib.dll属性。

尽管情况似乎并非如此,因为这种选择并不存在。有人知道我如何在vs2013中禁用mscorlib.dll吗?

如何在visual studio 2013中禁用mscorlib.dll

这是一个老问题,但事实上,尽管UI选项已经消失(或移动),文档至今仍具有误导性,但您仍然可以通过将<NoStdLib>True</NoStdLib>添加到高级设置中其他选项附近的.csproj中来复制效果:

<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    ...
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <NoStdLib>True</NoStdLib>
    <TargetFrameworkProfile />
  </PropertyGroup>
...
</Project>

为了解决Visual Studio 2017中的相同问题,在.csproj文件中添加以下属性组声明(您可以从Visual Studio卸载项目,右键单击并选择编辑)可以抑制编译器错误:

<PropertyGroup>
  <NoStdLib>true</NoStdLib>    
  <DisableHandlePackageFileConflicts>true</DisableHandlePackageFileConflicts>
</PropertyGroup>
...
<ItemGroup>
  <Reference Include="mscorlib">
  <HintPath>..'path to custom mscorlib.dll</HintPath>
</Reference>