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>