Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio My app.config未转换该值_Visual Studio_Msbuild_Visual Studio 2013_Csproj - Fatal编程技术网

Visual studio My app.config未转换该值

Visual studio My app.config未转换该值,visual-studio,msbuild,visual-studio-2013,csproj,Visual Studio,Msbuild,Visual Studio 2013,Csproj,在我的windows服务应用程序中,我希望通过配置对其进行调试。最初我用的是slowcheetah,但它就是不起作用。所以我想手动转换它。 有一个 在项目文件中,我有 <ItemGroup> <Content Include="App.config" /> <Content Include="App.Debug.config"> <DependentUpon>App.config</DependentU

在我的windows服务应用程序中,我希望通过配置对其进行调试。最初我用的是slowcheetah,但它就是不起作用。所以我想手动转换它。 有一个

在项目文件中,我有

  <ItemGroup>
     <Content Include="App.config" />
     <Content Include="App.Debug.config">
        <DependentUpon>App.config</DependentUpon>
     </Content>
     <Content Include="App.TestDebug.config">
        <DependentUpon>App.config</DependentUpon>
     </Content>
     <Content Include="App.Release.config">
        <DependentUpon>App.config</DependentUpon>
    </Content>
    <None Include="packages.config">
    </None>
 </ItemGroup>

App.config
App.config
App.config
我也有

 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 <UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
 <Target Name="AfterCompile" Condition="exists('app.$(Configuration).config')">
   <!-- Generate transformed app config in the intermediate directory -->
   <TransformXml Source="app.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="app.$(Configuration).config" />
   <!-- Force build process to use the transformed configuration file from now on. -->
<ItemGroup>
     <AppConfigWithTargetPath Remove="app.config" />
     <AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config">
     <TargetPath>$(TargetFileName).config</TargetPath>
    </AppConfigWithTargetPath>
</ItemGroup>
</Target>
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
   Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->

$(TargetFileName).config
在App.TestDebug.config中,值为:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
 <appSettings>
  <add key="veserver" value="xx.xx.xx.221" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
    <add key="veserver" value="xx.xx.xx.221" />
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appSettings>
  <add key="veserver" value="xx.xx.xx.222" />

在App.Debug.config中,值为:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
 <appSettings>
  <add key="veserver" value="xx.xx.xx.221" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
    <add key="veserver" value="xx.xx.xx.221" />
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appSettings>
  <add key="veserver" value="xx.xx.xx.222" />

在App.config中,值为:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
 <appSettings>
  <add key="veserver" value="xx.xx.xx.221" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
    <add key="veserver" value="xx.xx.xx.221" />
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appSettings>
  <add key="veserver" value="xx.xx.xx.222" />

现在我用

App.TestDebug.config

在C#code
ConfigurationManager中,AppSettings[“veserver”]
仍在运行

xx.xx.xx.222 这意味着它没有转换值。应该是 xx.xx.xx.221


为什么?

自己找一个解决办法

<ItemGroup>
 <Content Include="App.config" />
 <None Include="App.Debug.config">
    <DependentUpon>App.config</DependentUpon>
 </None>
 <None Include="App.TestDebug.config">
    <DependentUpon>App.config</DependentUpon>
 </None>
 <None Include="App.Release.config">
    <DependentUpon>App.config</DependentUpon>
</None>
<None Include="packages.config">
</None>

App.config
App.config
App.config

改变

内容

没有


.

自己找一个解决方案

<ItemGroup>
 <Content Include="App.config" />
 <None Include="App.Debug.config">
    <DependentUpon>App.config</DependentUpon>
 </None>
 <None Include="App.TestDebug.config">
    <DependentUpon>App.config</DependentUpon>
 </None>
 <None Include="App.Release.config">
    <DependentUpon>App.config</DependentUpon>
</None>
<None Include="packages.config">
</None>

App.config
App.config
App.config

改变

内容

没有