我有一个用于编译某些xaml文件的通用Windows应用程序的VCXProj文件
<Page Include="..\View\ViewModel.xaml" />
其中一个结果是xaml文件作为资源部署为包的一部分:ms-appx:///AppNamespace/ViewModel.xaml
如果文件路径是&#34; View \ ViewModel.xaml&#34;那么资源路径也将是&#34; AppNamespace / View / ViewModel.xaml&#34;
不幸的是,由于它位于父目录中,因此它会变平并进入根目录。我想要一种方法来指定输出路径,而不是让MSBuild系统保留它,比如
<Page Include="..\View\ViewModel.xaml">
<TargetPath>View\MyViewModel.xaml</TargetPath>
</Page>
但我不能为我的生活找到办法做到这一点。那里有什么东西吗?
答案 0 :(得分:1)
我认为这是设计的,我无法在VS工具中找到可以指定xaml文件输出路径的选项。
默认情况下,如果您在项目中从VS创建一个View文件夹,并在此View文件夹中创建一个新页面,VS编译器将自动从View文件夹中提取该XAML文件并将其放在您的根文件夹中项目文件夹。即使您在VS中在项目中创建了一个文件夹,也不会在项目物理文件夹中实际创建该文件夹。
例如,我创建了一个名为&#34; Test&#34;的文件夹。来自VS,我将图像复制到此文件夹中。这张图片的路径实际上是这样的:<Image Include="C:\Users\(pc-account)\Pictures\1.jpeg" />
,你找不到&#34;测试&#34;此项目的物理路径中的文件夹。现在,如果我们创建一个名为&#34; Test&#34;在物理路径中,不仅从VS,并将另一个图像复制到此文件夹,从你的VS打开这个项目,右键单击&#34;测试&#34;文件夹,通过添加现有项目来选择第二个图像到这个&#34;测试&#34;文件夹,然后你可以从VS看到:
在项目的Appx文件夹中,它看起来像这样:
如您所见,从VS添加到项目的第一个图像从Test文件夹中提取到根文件夹,并且第二个图像被手动添加到项目中仍然在Test文件夹中。
您可以在VCXProj文件中看到这两个图像的路径,如下所示:
我担心VS工具中没有可以自动执行此项工作的选项,我们只能