gpt4 book ai didi

c# - WPF 应用程序上未定义的 RunCommand 属性已迁移到新的 csproj 格式

转载 作者:行者123 更新时间:2023-11-30 23:12:26 29 4
gpt4 key购买 nike

我正在尝试将在旧 csproj 格式下构建的 WPF 应用程序迁移到为 VS2017 定义的新 csproj 格式。

我已经能够让应用程序编译,但是当我尝试在 VS2017 下的调试器中启动它时,我收到以下错误消息:

Unable to run your project. The "RunCommand" property is not defined.

有趣的是,如果我在文件资源管理器中双击该 exe,它会正常启动。

仅供引用,该项目最初是一个控制台应用程序,然后我将其修改为 WPF 应用程序。这是 csproj 文件:

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<LanguageTargets>$(MSBuildExtensionsPath)\$(VisualStudioVersion)\Bin\Microsoft.CSharp.targets</LanguageTargets>
<OutputType>winexe</OutputType>
<TargetFramework>net47</TargetFramework>
<ApplicationIcon />
<OutputTypeEx>winexe</OutputTypeEx>
<StartupObject />
</PropertyGroup>

<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx" Generator="ResXFileCodeGenerator" LastGenOutput="Resources.Designer.cs" />
<Compile Update="Properties\Resources.Designer.cs" DesignTime="True" AutoGen="True" DependentUpon="Resources.resx" />
<Compile Update="Settings.Designer.cs" AutoGen="True" DependentUpon="Settings.settings" />
<None Update="Settings.settings" LastGenOutput="Settings.Designer.cs" Generator="SettingsSingleFileGenerator" />

<Page Include="**\*.xaml" SubType="Designer" Generator="MSBuild:Compile" Exclude="App.xaml" />
<Compile Update="**\*.xaml.cs" SubType="Designer" DependentUpon="%(Filename)" />

<Resource Include="assets\*.*" />

<ApplicationDefinition Include="App.xaml">
<Generator>MsBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>

</ItemGroup>

<ItemGroup>
<PackageReference Include="Autofac" Version="4.6.0" />
<PackageReference Include="Autofac.Extras.CommonServiceLocator" Version="4.0.0" />
<PackageReference Include="Extended.Wpf.Toolkit" Version="3.0.0" />
<PackageReference Include="Hardcodet.NotifyIcon.Wpf" Version="1.0.8" />
<PackageReference Include="MaterialDesignColors" Version="1.1.3" />
<PackageReference Include="MaterialDesignThemes" Version="2.3.0.823" />
<PackageReference Include="MvvmLightLibs" Version="5.3.0" />
<PackageReference Include="Serilog" Version="2.4.0" />
<PackageReference Include="Serilog.Sinks.RollingFile" Version="3.3.0" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\WPFUtilities\J4JUI\J4JUI.csproj" />
</ItemGroup>

<ItemGroup>
<Reference Include="System.ComponentModel.DataAnnotations" />
</ItemGroup>

<Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" />
</Project>

RunCommand 属性在哪里设置,如何设置?

更新

研究项目设置,我配置了调试选项以启动项目创建的可执行文件(默认是“运行”项目)。

这让我可以在 VS 2017 中的调试器中启动应用程序......让我觉得这可能是 VS 2017 中的一个错误,构建环境没有按应有的方式定义 RunCommand 属性。

最佳答案

对于 1.0.0 和 1.1.0 SDK,Microsoft.NET.Sdk.targets文件在 Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(OutputType)' == 'Exe'" 时尝试设置 RunCommand 属性.但由于项目指定 <OutputType>winexe</OutputType> (它需要),条件不满足(当然其他也不满足)。

这似乎已在即将推出的 2.0.0 SDK 中得到修复(source,您必须浏览其他文件才能找到 _IsExecutable 属性),它应该在下一个 VS2017 更新中发布。

与此同时,我选择在我的 .csproj 中手动设置属性:<RunCommand>bin\Debug\net47\MyApp.exe</RunCommand> (我本可以花更多时间使用更多 SDK 定义的属性,但我必须在导入 SDK 目标后安排它,为简单起见我省略了它)

关于c# - WPF 应用程序上未定义的 RunCommand 属性已迁移到新的 csproj 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44141314/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com