簡體   English   中英

WPF棱鏡MEF Visual Studio項目文件

[英]wpf prism mef visual studio project file

我有WPF / Prism 4.0 / MEF(MVVM)應用程序。 一切正常運行/加載,除非我更改項目文件。

可用的版本包含以下內容,但是Project瀏覽器未將* .cs代碼隱藏文件正確加載到樹層次結構中。 代碼隱藏文件與* .xaml文件位於同一樹級別:

<ItemGroup>
   <Compile Include="Models\MainProjectDataModel.cs" />
   <Compile Include="ViewModels\MainProjectDataViewModel.cs" />
   <Compile Include="ViewModels\MainWindowViewModel.cs" />
   <Compile Include="Views\MainMenuView.xaml.cs" />
   <Compile Include="Views\MainProjectDataView.xaml.cs" />
   <Compile Include="Views\MainToolbarView.xaml.cs" />
   <Page Include="Views\MainMenuView.xaml">
     <Generator>MSBuild:Compile</Generator>
     <SubType>Designer</SubType>
   </Page>
   <Page Include="Views\MainProjectDataView.xaml">
     <Generator>MSBuild:Compile</Generator>
     <SubType>Designer</SubType>
   </Page>
   <Page Include="Views\MainToolbarView.xaml">
     <Generator>MSBuild:Compile</Generator>
     <SubType>Designer</SubType>
   </Page>
</ItemGroup>

這個版本正確地加載了樹,但是在編譯/生成過程中處理了一些東西-因此找不到與菜單/工具欄/數據相關的區域:

<ItemGroup>
   <Compile Include="Models\MainProjectDataModel.cs" />
   <Compile Include="ViewModels\MainProjectDataViewModel.cs" />
   <Compile Include="ViewModels\MainWindowViewModel.cs" />
</ItemGroup>

<ItemGroup>
   <Page Include="Views\MainMenuView.xaml">
     <Generator>MSBuild:Compile</Generator>
     <SubType>Designer</SubType>
   </Page>
   <Page Include="Views\MainProjectDataView.xaml">
     <Generator>MSBuild:Compile</Generator>
     <SubType>Designer</SubType>
   </Page>
   <Page Include="Views\MainToolbarView.xaml">
     <Generator>MSBuild:Compile</Generator>
     <SubType>Designer</SubType>
   </Page>
</ItemGroup>    

我嘗試將'<DependentUpon>'標記添加到已編譯的文件中(遵循為app.xaml和Shell.xaml生成的代碼,但是樹仍未正確填充。

<Compile Include="Views\MainMenuView.xaml.cs">
  <DependentUpon>Views\MainMenuView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\MainProjectDataView.xaml.cs">
  <DependentUpon>Views\MainProjectDataView</DependentUpon>
</Compile>
<Compile Include="Views\MainToolbarView.xaml.cs"> 
  <DependentUpon>Views\MainToolbarView.xaml</DependentUpon>
</Compile>
<Page Include="Views\MainMenuView.xaml">
  <Generator>MSBuild:Compile</Generator>
  <SubType>Designer</SubType>
</Page>
<Page Include="Views\MainProjectDataView.xaml">
  <Generator>MSBuild:Compile</Generator>
  <SubType>Designer</SubType>
</Page>
<Page Include="Views\MainToolbarView.xaml">
  <Generator>MSBuild:Compile</Generator>
  <SubType>Designer</SubType>
</Page>

自然,這是一個煩人的問題,而不是真正的錯誤-但是有什么用呢? 我在MSBuild上找到了文檔-希望這是查找的正確位置。 我對嗎? 那里有很多東西,我現在不希望一味地討論它-有人知道我應該看文檔中的什么地方或者這是怎么回事?

刪除DependentUpon節點的Views\\部分:

<Compile Include="Views\MainToolbarView.xaml.cs"> 
  <DependentUpon>MainToolbarView.xaml</DependentUpon>
</Compile>

Include需要相對於項目文件的路徑,而DependentUpon是相對於.cs文件的路徑-因此,在幾乎所有情況下,這些文件都將彼此相鄰,因此不需要額外的路徑命名法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM