是否有人为使用新的SDK样式.csproj
格式的UWP项目成功创建了.csproj
文件?我从this question中汲取了有关WPF的灵感,这让我90%地了解了WPF。
此后,我开始使用MSBuild.Sdk.Extras package,它使我可以将uap10.0
作为<TargetFramework>
进行访问,经过一些调整之后,我得到了它的实际编译结果,如下所示.csproj
:
<Project Sdk="MSBuild.Sdk.Extras">
<PropertyGroup>
<!--UWP-specific properties-->
<TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.17134.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.17134.0</TargetPlatformMinVersion>
<TargetFrameworks>uap10.0</TargetFrameworks>
<OutputType>AppContainerExe</OutputType>
<LanguageTargets>$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets</LanguageTargets>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<PackageCertificateKeyFile>Test.UWP_TemporaryKey.pfx</PackageCertificateKeyFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<OutputPath>bin\x86\Debug\</OutputPath>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>x86</PlatformTarget>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
</PropertyGroup>
<ItemGroup>
<!--XAML stuff-->
<ApplicationDefinition Include="App.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</ApplicationDefinition>
<Page Include="**\*.xaml" Exclude="App.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Compile Update="**\*.xaml.cs" SubType="Code" DependentUpon="%(Filename)" />
<AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
<!--Local projects-->
<!--Nuget references-->
</ItemGroup>
</Project>
但是,仍然存在一些问题:
/bin
目录似乎不包括依赖项.dll。
(/ bin目录自定义项目在左边,/ bind UWP项目在右边。)...导致最终的.exe在启动时立即崩溃。
有人对如何使这件事到达终点有任何建议吗?
答案 0 :(得分:2)
现在看来答案是否定的。 Per Oren Novotny,是制作MS Build SDK Extras的精明伙伴:
当前,您不能将SDK样式的项目用于应用程序本身,而只能用于UWP类库。项目系统还需要支持以正确的方式进行部署和启动。
答案 1 :(得分:1)
答案 2 :(得分:-1)
第三方sdk,请参见novotnyllc/MSBuildSdkExtras: Extra properties for MSBuild SDK projects
<Project Sdk="MSBuild.Sdk.Extras">
<PropertyGroup>
<TargetFrameworks>net46;uap10.0.16299;tizen40</TargetFrameworks>
</PropertyGroup>
</Project>