为什么需要projectname.exe.config在vb.net中运行exe文件

时间:2017-12-12 21:00:58

标签: vb.net crystal-reports

我使用visual studio 2010和MS SQL Server 2014开发了一个vb.net应用程序。我使用了水晶报告进行报告。

目标框架4.0

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

使用水晶报告作为 构建操作=嵌入式资源 复制到输出目录=不复制

代码晶体报告中的

的形式访问

Dim cryRpt As New myReportName cryRpt.SetDataSource(xdataset.Tables(0))

问题是当我运行位于myProject \ bin \ Debug中的myproject.exe时,它对于表单和水晶报表都可以正常工作。

但是如果myproject.exe被复制到任何其他位置,它会在运行时崩溃,其中数据集被分配到报告。 现在如果我将myproject.exe.config文件复制到exe文件的相同位置,它就会成功运行。

那么为什么exe文件需要myproject.exe.config才能运行,如果它使用数据集作为记录。 我是否需要使用我的exe文件部署myproject.exe.config?

问候。

这是我的配置文件中的代码

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
    <sources>
        <!-- This section defines the logging configuration for My.Application.Log -->
        <source name="DefaultSource" switchName="DefaultSwitch">
            <listeners>
                <add name="FileLog"/>
                <!-- Uncomment the below section to write to the Application Event Log -->
                <!--<add name="EventLog"/>-->
            </listeners>
        </source>
    </sources>
    <switches>
        <add name="DefaultSwitch" value="Information" />
    </switches>
    <sharedListeners>
        <add name="FileLog"
             type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" 
             initializeData="FileLogWriter"/>
        <!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
        <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
    </sharedListeners>
</system.diagnostics>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

1 个答案:

答案 0 :(得分:0)

我认为

My.Settings使用.exe.config文件。最简单的方法是打开它,看看里面存储了什么设置。然后,您可以更改代码以将这些设置存储在其他位置。