2016-12-14 83 views
3

在Visual Studio 2013中,我能夠通過使用編譯器常量和修改項目的.csproj文件來排除一些.cs文件。VS2015 project.json編譯排除

事情是這樣的:

- myproject.csproj

<PropertyGroup> 
    ... 
    <DefineConstants>MY_COMPILER_CONSTANT</DevineConstants> 
    ... 
</PropertyGroup> 
<ItemGroup> 
    ... 
    <Compile Include="myproject\myfile.cs" Condition="'$(Configuration)' != 'MY_COMPILER_CONSTANT'" /> 
    ... 
</ItemGroup> 

然後我的項目完全被排除編譯這個myfile.cs,讓我避免了一些嚴重錯誤。

但現在我想我的項目環境中遷移到Visual Studio 2015年

我可以很容易地找出如何編譯常數添加到VS2015的項目,但仍試圖找出如何排除文件被編譯。

我project.json目前看起來是這樣的:

{ 
    "frameworks": { 
    "net451": { 
     "dependencies": { } 
    } 
    }, 
    "dependencies": { 
    ... 
    }, 
    "buildOptions": { 
    "define": [ "MY_COMPILER_CONSTANT" ] 
    } 
} 

添加文件彙編似乎直截了當。我認爲它必須對buildOptions中的「編譯」配置變量進行一些操作。我需要添加什麼來使編譯器忽略構建時的myfile.cs?

回答

2

嘗試:buildOptions -> compile -> exclude

例如 - 從我project.json - 如何從編譯過程中排除整個lib文件夾:

"buildOptions": { 
    "compile": { 
    "exclude": [ "lib" ] 
    } 
} 

old docs另一個例子:

"buildOptions": { 
    "compile": ["*.cs"], 
    "exclude": ["buggy/**/*.cs", "foo/**/*.*"], 
    "publishExclude": ["something/**/*.*"], 
    "resource": ["embed/**/*.*"] 
} 


欲瞭解更多信息,請發現project.json reference

注意

的.NET核心工具將會從project.json移動到基於MSBuild的項目在未來的版本。

建議仍然使用project.json文件處理新的.NET Core項目,因爲在工具發佈時會有一個將項目轉換爲MSBuild的路徑。

欲瞭解更多信息,請參閱.NET博客上的Changes to project.json文章和Using MSBuild to build .NET Core projects主題。

2

右鍵單擊Source Explorer中的.cs文件以顯示屬性窗格。在屬性窗格中,將構建操作更改爲「無」。該文件不應該被編譯。

enter image description here