我使用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>
答案 0 :(得分:0)
My.Settings
使用.exe.config文件。最简单的方法是打开它,看看里面存储了什么设置。然后,您可以更改代码以将这些设置存储在其他位置。