相关疑难解决方法(0)

AssemblyVersion,AssemblyFileVersion和AssemblyInformationalVersion之间有什么区别?

有三个程序集版本属性.有什么区别?如果我使用AssemblyVersion并忽略其余部分可以吗?


MSDN说:


这是使用装配属性的最佳做法的后续行动

.net attributes assemblies

844
推荐指数
6
解决办法
17万
查看次数

如何告诉应用程序从我的自定义 app.config 文件而不是默认文件中读取 <runtime>

假设我正在创建一个名为ConsoleApp2的应用程序。

由于我使用了一些第三方库,我的默认 app.config 文件正在生成类似的代码

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)

那是因为我的解决方案引用了一个库的不同版本,所以它需要告诉大家:“嘿,如果你要找这个库的任何旧版本,就用新版本”。没关系。

问题是我想定义一个单独的配置文件“test.exe.config”,在那里我有一些设置并摆脱自动生成的设置。

为了告诉我的应用程序有关新配置文件的信息,我使用了如下代码

AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", "test.exe.config");
Run Code Online (Sandbox Code Playgroud)

这(几乎)完美地工作。我在那里写了“几乎”,因为虽然该<appSettings>部分被正确读取,但该<runtime>部分并未在我的自定义配置文件中查看,但应用程序在默认配置文件中查找它,这是一个问题,因为我想以后可以删除那个。

那么,我如何告诉我的应用程序也<runtime>从我的自定义配置文件中读取信息?


如何重现问题

重现我的问题的简单示例如下:

创建一个名为ClassLibrary2 ( .Net Framework v4.6 )的库,包含一个类,如下所示

using Newtonsoft.Json.Linq;
using System;

namespace ClassLibrary2
{
    public class Class1
    {
        public Class1()
        {
            var json = new JObject();
            json.Add("Succeed?", true);

            Reash = json.ToString();
        }

        public String …
Run Code Online (Sandbox Code Playgroud)

.net c# app-config

9
推荐指数
2
解决办法
2047
查看次数

标签 统计

.net ×2

app-config ×1

assemblies ×1

attributes ×1

c# ×1