从PCL转换为.NET共享后,我试图了解.csproj文件的内容。这是一个示例和一些问题:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Xamarin.Forms" Version="3.1.0.583944" />
<PackageReference Include="sqlite-net-pcl" Version="1.4.118" />
<PackageReference Include="Syncfusion.Xamarin.SfChart" Version="16.2.0.42" />
</ItemGroup>
<ItemGroup>
<Folder Include="Views\" />
<Folder Include="Views\Settings\Pages\" />
<Folder Include="Views\Home\PopUp\" />
<Folder Include="Views\Help\Cards\" />
</ItemGroup>
有人可以向我解释为什么即使我的项目中有更多文件夹,上方还是只显示某些文件夹
<ItemGroup>
<EmbeddedResource Remove="Views\Cards\Category\CategoriesPage.xaml" />
<EmbeddedResource Remove="Views\Cards\Templates\LinkTextCell.xaml" />
<EmbeddedResource Remove="Views\Cards\Templates\SwitchViewCell.xaml" />
<EmbeddedResource Remove="Views\Home\Dictionary.xaml" />
</ItemGroup>
有人可以解释所有这些“删除”行的含义吗?
<ItemGroup>
<None Include="Views\Cards\Cards.xaml" />
<None Include="Views\Cards\Category\CategoriesPage.xaml" />
<None Include="Views\Cards\Category\CategoryViewCell.xaml" />
<None Include="Views\Cards\Templates\LinkTextCell.xaml" />
<None Include="Views\Cards\Templates\SwitchViewCell.xaml" />
<None Include="Views\MainPage.xaml" />
<None Include="Views\MainPage.xaml" />
<None Include="Views\MainPage.xaml" />
<None Include="Views\MainPage.xaml" />
</ItemGroup>
有人可以解释为什么MainPage可能出现四次吗?是否需要不止一次,完全需要吗?有很多文件不在“包含”列表中吗?如果只有一半,那为什么呢?
<ItemGroup>
<Compile Update="Views\MainPage.xaml.cs">
<DependentUpon>MainPage.xaml</DependentUpon>
</Compile>
<Compile Update="Views\Home\HomePage.xaml.cs">
<DependentUpon>HomePage.xaml</DependentUpon>
</Compile>
<Compile Update="Views\Cards\Category\CategoryViewCell.xaml.cs">
<DependentUpon>CategoryViewCell.xaml</DependentUpon>
</Compile>
</ItemGroup>
</Project>
我知道有些观点依赖于其他观点,但我有很多观点,但这只显示了三种观点之间的关系。为什么会这样?
我是否可以从项目文件中删除所有这些条目,因为项目文件与项目中的文件夹/文件之间似乎没有太多相似之处?
答案 0 :(得分:14)
新的.csproj
格式进行了一些基本更改以简化文件。现在默认情况下包括所有.cs
(如果正在执行VB.Net,则包含.vb
)文件。 See here以获得更多信息。
文件之所以明确包含一些文件和文件夹,是因为您可能在某个时候编辑了文件属性。
Remove
行允许文件成为项目结构的一部分,但不能自动编译或嵌入。
至于MainPage.xaml
为什么出现多次,我不知道。 Visual Studio中的错误已添加它们,或者源控件合并冲突。无论哪种方式,这些重复的行都是多余的,可以删除。