dotnet 新 sdk style 項目格式 文件衝突

  • 2019 年 12 月 12 日
  • 筆記

在使用 dotnet 的 sdk style 項目格式,會默認在項目上引用文件,此時如果是從舊格式遷移,那麼會發現文件衝突。多次引用相同文件

從以前的項目格式遷移到 VS2017 新項目格式 告訴大家如何遷移,但是遷移完成會發現有文件衝突

如 cs 文件重複,默認的格式會引用所有的 *.cs 文件,如果此時在項目中因為有一些文件是排除文件,不能直接使用 *.cs 需要寫引用的是哪個文件,在編譯會發現文件被多次引用,此時可以在 PropertyGroup 添加下面程式碼

    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>

如果提示嵌入的資源衝突了,也就是添加了默認的嵌入資源。默認添加的嵌入資源是按照文件後綴名添加,我的項目對這些後綴名的文件是不需要加入的,遷移項目格式就加入,編譯的文件就比原來大。可以添加下面程式碼,不加入默認的文件

    <EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>

對於 WPF 項目,默認的 Page 文件也會被加入,可以通過下面程式碼解決

    <EnableDefaultPageItems>false</EnableDefaultPageItems>

大概的項目需要添加下面程式碼

 <PropertyGroup>      <TargetFramework>net47</TargetFramework>      <OutputType>Library</OutputType>      <RootNamespace>lindexi</RootNamespace>      <AssemblyName>lindexi</AssemblyName>        <GenerateAssemblyInfo>false</GenerateAssemblyInfo>      <EnableDefaultCompileItems>false</EnableDefaultCompileItems>      <EnableDefaultPageItems>false</EnableDefaultPageItems>      <EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>    </PropertyGroup>