我正在尝试在visual studio 2013中使用自定义标准库,但似乎无法弄明白。使用/ nostdlib在命令行上编译没有问题,尽管我希望能够在IDE中利用intellisense。除了我的自定义corelib之外,我删除了所有引用,并且由于mscorlib有两种变体,我遇到了相互矛盾的代码错误。
VS文档说:
在Visual Studio开发环境中设置此编译器选项
打开项目的属性页面。
点击构建属性页。
点击高级按钮。
- 醇>
修改不要引用mscorlib.dll 属性。
虽然情况似乎并非如此,因为此选项不存在。有谁知道如何在vs2013中禁用mscorlib.dll?
答案 0 :(得分:7)
这是一个老问题,但实际上 - 虽然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>
答案 1 :(得分:0)
要解决 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>