新 csproj 格式的程序集探测私有路径

Jef*_*eff 5 c# msbuild csproj

我最近完成了将 WPF 项目转换为更精简的新 csproj 格式。

但是,我还剩下一个缺失的部分,probing为程序集添加了一条路径,该路径曾经存在于旧app.config文件中。由于缺少这个,我的应用程序找不到所需的 dll。

我进行此设置的方式是使用 Post-build 事件清除项目并将其移动到 bin 文件夹:

SET folder=bin
rmdir "$(TargetDir)%folder%" /s /q
mkdir "$(TargetDir)%folder%"
move "$(TargetDir)*.dll" "$(TargetDir)%folder%\"
Run Code Online (Sandbox Code Playgroud)

我尝试向 .csproj 文件添加一些条目,但无济于事。我相信这更适合编译应用程序:

SET folder=bin
rmdir "$(TargetDir)%folder%" /s /q
mkdir "$(TargetDir)%folder%"
move "$(TargetDir)*.dll" "$(TargetDir)%folder%\"
Run Code Online (Sandbox Code Playgroud)

我想我的主要问题是,我还应该有一个 app.config,还是有更好的 .csproj 方法可用?

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
  </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="bin"/>
    </assemblyBinding>
  </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

如果我包含它,我的应用程序将工作,但我想知道我是否可以简化它,或者以更好的方式来做这件事。