2014-10-29 59 views
6

我想在Visual Studio 2013中使用自定义标准库,并且似乎无法弄清楚。我没有问题使用/ nostdlib在命令行上编译,尽管我希望能够利用IDE中的intellisense。我已经删除了除我的自定义corelib之外的所有引用,并且由于mscorlib有两个变体,我得到了冲突的代码错误。如何从visual studio 2013中禁用mscorlib.dll?

的VS文件说:

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

  1. 打开属性页的项目。

  2. 点击Build属性页。

  3. 单击高级按钮。

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

虽然这似乎并不如此,因为该选项不存在。有谁知道我可以在VS2013中禁用mscorlib.dll吗?

+1

它曾经存在,但我只是检查了VS Express,不能看到它或者...黑客可能是项目文件?也许它可以用便携式库来模拟?绝对仍然存在于VS2010中。 – leppie 2014-10-29 04:49:01

+0

它似乎缺少,我检查了VS 2013专业。我认为这是微软支持的情况。 – 2014-11-01 07:43:31

+1

发现这个论坛帖子:https://social.msdn.microsoft.com/Forums/windowsapps/en-US/34e15fbf-6281-49f3-9b22-5b98d416b0e6/vs2012-pro-advanced-build-setting-for-c- nostdlib-setting-is-not-showing-up?forum = visualstudiogeneral - 可能会添加' True'到你的项目文件手动会有帮助吗? – 2014-11-01 07:47:55

回答

5

这是一个老问题,但事实上 - 虽然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> 
+0

我很想知道VS 2010之后哪个选项消失了。很高兴你发布。 'NoStdLib'标签有效! – RBT 2016-06-29 11:43:31